默认配置文件
当我们创建一个springboot项目的时候,系统默认会为我们在src/main/Java/resources目录下创建一个application.properties。
springboot如何同时加载多个配置文件
springboot 默认是在src/main/resources文件夹中加载application.properties默认配置文件
格式为application-{profile}.properties,其中{profile}对应你的环境标识
在application.properties中添加spring.profiles.active = dev,database
# 加载多个配置文件,系统加载了application.properties application-database.properties application-dev.properties 三个配置文件
spring.profiles.active = dev,database
系统加载了src/main/resources目录下的application.properties application-database.properties application-dev.properties 三个配置文件
将配置文件的属性赋给实体类
application-dev.properties文件内容
dev.name=liumei
java实体类
package com.hb.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix="dev")
public class DevConfig {
// application-dev.properties中dev.name的值
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@ConfigurationProperties(prefix=“dev”) 意思是说加载所有配置信息中dev.name的值;name的属性要有get和set方法
自定义配置文件
上面介绍的是我们都把配置文件写到application.yml中。有时我们不愿意把配置都写到application配置文件中,这时需要我们自定义配置文件,比如test.properties:
com.forezp.name=forezp
com.forezp.age=12
怎么将这个配置文件信息赋予给一个javabean呢?
@Configuration
@PropertySource(value = "classpath:test.properties")
@ConfigurationProperties(prefix = "com.forezp")
public class User {
private String name;
private int age;
public String getName() {
return name;
}无锡好的×××医院 http://www.zzch220.com/
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
在最新版本的springboot,需要加这三个注解。
@Configuration
@PropertySource(value = “classpath:test.properties”)
@ConfigurationProperties(prefix = “com.forezp”);在1.4版本需要
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。