spring-boot读取props和yml配置文件
来源:互联网 发布:北京文思海辉金信软件 编辑:程序博客网 时间:2024/06/05 10:53
pom文件中依赖以下jar包
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- @SpringBootApplication
- @EnableConfigurationProperties({PropsConfig.class,YmlConfig.class})
- public class ReadApplication {
- public static void main(String[] args) {
- SpringApplication.run(ReadApplication.class, args);
- }
- }
1.读取properties配置文件
在类路径下放置一个application.properties文件,大致内容如下:
读取props配置的类,很简单,基本就是一个pojo/vo类,在类上加载@ConfigurationProperties注解即可。
- @ConfigurationProperties(prefix = "master.ds",locations = "classpath:application.properties")
- public class PropsConfig {
- private String driverClassName;
- private String url;
- private String username;
- private String password;
- private String filters;
- private String maxActive;
- private String initialSize;
- private String maxWait;
- public String getDriverClassName() {
- return driverClassName;
- }
- public void setDriverClassName(String driverClassName) {
- this.driverClassName = driverClassName;
- }
- public String getUrl() {
- return url;
- }
- public void setUrl(String url) {
- this.url = url;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getFilters() {
- return filters;
- }
- public void setFilters(String filters) {
- this.filters = filters;
- }
- public String getMaxActive() {
- return maxActive;
- }
- public void setMaxActive(String maxActive) {
- this.maxActive = maxActive;
- }
- public String getInitialSize() {
- return initialSize;
- }
- public void setInitialSize(String initialSize) {
- this.initialSize = initialSize;
- }
- public String getMaxWait() {
- return maxWait;
- }
- public void setMaxWait(String maxWait) {
- this.maxWait = maxWait;
- }
- }
- @RunWith(SpringJUnit4ClassRunner.class)
- @SpringBootTest(classes = ReadApplication.class)
- public class ReadApplicationPropsTests {
- @Autowired
- private PropsConfig propsConfig;
- @Test
- public void testDisplayPropsValue() {
- String driverClassName = propsConfig.getDriverClassName();
- String url = propsConfig.getUrl();
- String username = propsConfig.getUsername();
- String password = propsConfig.getPassword();
- String filters = propsConfig.getFilters();
- String maxActive = propsConfig.getMaxActive();
- String initialSize = propsConfig.getInitialSize();
- String maxWait = propsConfig.getMaxWait();
- System.out.println("driverClassName -> " + driverClassName);
- System.out.println("url -> " + url);
- System.out.println("username -> " + username);
- System.out.println("password -> " + password);
- System.out.println("initialSize -> " + initialSize);
- System.out.println("maxWait -> " + maxWait);
- }
- }
- driverClassName -> com.mysql.jdbc.Driver
- url -> jdbc:mysql://localhost:3306/test
- username -> root
- password -> root
- initialSize -> 1
- maxWait -> 60000
在类路径下放置一个application.yml文件,大致内容如下:
- myProps: #自定义的属性和值
- simpleProp: simplePropValue
- arrayProps: 1,2,3,4,5
- listProp1:
- - name: abc
- value: abcValue
- - name: efg
- value: efgValue
- listProp2:
- - config2Value1
- - config2Vavlue2
- mapProps:
- key1: value1
- key2: value2
- @ConfigurationProperties(prefix="myProps") //application.yml中的myProps下的属性
- public class YmlConfig {
- private String simpleProp;
- private String[] arrayProps;
- private List<Map<String, String>> listProp1 = new ArrayList<>(); //接收prop1里面的属性值
- private List<String> listProp2 = new ArrayList<>(); //接收prop2里面的属性值
- private Map<String, String> mapProps = new HashMap<>(); //接收prop1里面的属性值
- public String getSimpleProp() {
- return simpleProp;
- }
- public void setSimpleProp(String simpleProp) {
- this.simpleProp = simpleProp;
- }
- public List<Map<String, String>> getListProp1() {
- return listProp1;
- }
- public List<String> getListProp2() {
- return listProp2;
- }
- public String[] getArrayProps() {
- return arrayProps;
- }
- public void setArrayProps(String[] arrayProps) {
- this.arrayProps = arrayProps;
- }
- public Map<String, String> getMapProps() {
- return mapProps;
- }
- public void setMapProps(Map<String, String> mapProps) {
- this.mapProps = mapProps;
- }
- }
可以看到在控制台输出的测试内容:
- simpleProp: simplePropValue
- arrayProps: ["1","2","3","4","5"]
- listProp1: [{"name":"abc","value":"abcValue"},{"name":"efg","value":"efgValue"}]
- listProp2: ["config2Value1","config2Vavlue2"]
- mapProps: {"key1":"value1","key2":"value2"}
转自http://blog.csdn.net/gaolu/article/details/52708177
阅读全文
0 0
- spring-boot读取props和yml配置文件
- spring-boot读取props和yml配置文件
- spring-boot读取props和yml配置文件
- spring-boot读取props和yml配置文件
- spring-boot读取props和yml配置文件
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot读取yml配置内容
- spring boot 单元测试与读取配置文件(application.yml)中的属性值
- 解决spring-boot项目中无法读取yml配置文件属性问题
- Spring boot读取配置文件
- spring-boot 配置文件读取
- Spring boot 配置文件读取
- KieSession缓存调用
- leetcode: 91. Decode Ways
- opencv 表示图像的IplImage
- Android_XRecyclerView上拉下拉加载数据
- 读《从你的全世界路过》有感
- spring-boot读取props和yml配置文件
- leetcode: 92. Reverse Linked List II
- Android 数据库基础 01
- 复习一:java基础知识点
- 线程经典模式之---生产者和消费者
- spring的IOC详解
- ubuntu常用工具记录
- Python2.7实现监控Linux内存、CPU并发送预警邮件
- leetcode: 93. Restore IP Addresses