[十七]SpringBoot 之 使用自定义的properties
Springboot使用application.properties默认了很多配置。但需要自己添加一些配置的时候,我们应该怎么做呢。
如果继续在application.properties中添加
如:
test.t1=t1
test.t2=t2
定义配置类:
package me.shijunjie.config.properties; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix="test")
public class Test1Settings {
private String t1;
private String t2;
public String getT1() {
return t1;
}
public void setT1(String t1) {
this.t1 = t1;
}
public String getT2() {
return t2;
}
public void setT2(String t2) {
this.t2 = t2;
}
@Override
public String toString() {
return "Test1Settings [t1=" + t1 + ", t2=" + t2 + "]";
}
}
若用新的配置文件
如我新建一个test.properties
test.t1=aaaa
test.t2=bbbb
需定义如下配置类
package me.shijunjie.config.properties; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix="test", locations="classpath:test.properties")
public class Test2Settings {
private String t1;
private String t2;
public String getT1() {
return t1;
}
public void setT1(String t1) {
this.t1 = t1;
}
public String getT2() {
return t2;
}
public void setT2(String t2) {
this.t2 = t2;
}
@Override
public String toString() {
return "Test2Settings [t1=" + t1 + ", t2=" + t2 + "]";
} }
最后注意在spring Boot入口类加上@EnableConfigurationProperties
package me.shijunjie.testspringboot3; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan; import me.shijunjie.config.properties.Test1Settings;
import me.shijunjie.config.properties.Test2Settings; @SpringBootApplication
@EnableConfigurationProperties({Test1Settings.class, Test2Settings.class})
@ComponentScan("me.shijunjie")
public class App
{
public static void main( String[] args )
{
SpringApplication.run(App.class, args);
}
}
使用定义的properties(不知道为什么,我这边用了Test1Settings就不能用Test2Settings,如果想两个都用,可以将Setting作为component扫描进spring容器中)
package me.shijunjie.controller; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import me.shijunjie.config.properties.Test1Settings;
import me.shijunjie.config.properties.Test2Settings; @RestController
@RequestMapping("/test")
public class TestController {
@Autowired
private Test1Settings test1Settings;
@Autowired
private Test2Settings test2Settings; @RequestMapping("/testProperties")
public String testProperties() {
System.out.println(test1Settings);
System.out.println(test2Settings);
return "ok";
}
}
[十七]SpringBoot 之 使用自定义的properties的更多相关文章
- springboot中使用自定义的properties属性
在application.properties中添加属性ai.name=明ai.age=22ai.sex=男定义配置类如下,前缀(prefix)可自定义修改,本文为 ai.@Configuration ...
- Springboot中读取自定义名称properties的
Springboot读取自定义的配置文件时候,使用@value,一定要指定配置文件的位置! 否则报错参数化异常!
- 170705、springboot编程之自定义properties
spring boot使用application.properties默认了很多配置.但需要自己添加一些配置的时候,可以这样用,如下! 在application.properties文件中增加信息 1 ...
- 【spring boot】SpringBoot初学(2) - properties配置和读取
前言 只是简单的properties配置学习,修改部分"约定"改为自定义"配置".真正使用和遇到问题是在细看. 一.主要 核心只是demo中的: @Proper ...
- SpringBoot系列之自定义starter实践教程
SpringBoot系列之自定义starter实践教程 Springboot是有提供了很多starter的,starter翻译过来可以理解为场景启动器,所谓场景启动器配置了自动配置等等对应业务模块的一 ...
- SpringBoot(二) SpringBoot核心配置文件application.yml/properties
我们都知道在Spring中有着application.xml文件对Spring进行相关配置,通过web.xml中的contextConfigLocation指定application.xml文件所在位 ...
- SpringBoot入门教程(三)通过properties实现多个数据库环境自动切换配置
前面的文章已经介绍了CentOS部署SpringBoot项目从0到1的详细过程,包括Linux安装ftp.Tomcat以及Java jdk的全部过程.这篇文章主要介绍关于springboot如何通过多 ...
- SpringBoot Mybatis EnumTypeHandler自定义统一处理器
需求 mybatis目前已经内嵌入了springboot中了,这说明其目前在数据访问层的绝对优势.而我们在开发的过程中,往往会在程序中使用枚举(enum) 来表示一些状态或选项,而在数据库中使用数字来 ...
- SpringBoot:四种读取properties文件的方式
前言 在项目开发中经常会用到配置文件,配置文件的存在解决了很大一份重复的工作.今天就分享四种在Springboot中获取配置文件的方式. 注:前三种测试配置文件为springboot默认的applic ...
随机推荐
- 覆盖Django mysql model中save方法时碰到的一个数据库更新延迟问题
最近有一个需求,通过django的admin后台,可以人工配置5张表的数据,这些数据进行一些业务规则处理后会统一成一份数据缓存在一个cache之中供服务端业务访问,因而任何一张表的数据更新(增.删.改 ...
- Yii 2.0 中事件的使用
关于PHP的事件处理,参照 http://www.cnblogs.com/mafeifan/p/4322238.html http://www.cnblogs.com/mafeifan/p/43222 ...
- javaweb(十四)——JSP原理
一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...
- TensorFlow(实战深度学习框架)----深层神经网络(第四章)
深层神经网络可以解决部分浅层神经网络解决不了的问题. 神经网络的优化目标-----损失函数 深度学习:一类通过多层非线性变化对高复杂性数据建模算法的合集.(两个重要的特性:多层和非线性) 线性模型的最 ...
- Jenkins配置 管理
Jenkins配置 你可能已经看了前面几次练习了,其中我们不得不在Jenkins配置选项.下表列出了Jenkins 的各种配置选项. 因此,可以通过点击左侧菜单侧的 “Manage Jenkins”选 ...
- 教程:将应用迁移到 DirectX* 12 – 第 1 部分
原文地址 简介 随着微软* 新版操作系统 Windows 10* 的发布,核心图形技术将升级到最新的 DirectX* 12.要帮助拥有 DirectX* 开发经验的程序员熟悉 DirectX* 12 ...
- Lua学习笔记(5): 表
表的初始化方式 表的索引类型一般有两种,一种是通过标识符访问,一种是通过数字访问 --通过标识符访问的表的初始化 table1 = {key_1 = "haha", key_2 = ...
- 17 Tips For Writing An Excellent Email Subject Line
Out of the billions of emails that are sent every day, how can you make sure that yours stands out? ...
- 0428数字口袋精灵app优化
"数字口袋精灵app"优化 目录: 一.项目github总仓库推送 二.开发成员 三.分工与合作 四.各模块成果 五.团队成员贡献分 内容: 一.项目github总仓库: http ...
- LeetCode 888. Fair Candy Swap(C++)
题目: Alice and Bob have candy bars of different sizes: A[i] is the size of the i-th bar of candy that ...