
Spring Boot 配置文件读取 及 多环境 配置文件配置 一. 自定义属性 1. 新建SpringBoot web工程,选择devops,web及lombok 组件包含 2. 修改 application.properties为 application.yml文件 3. application.yml 写入
my:
name: zhansan
age: 884. 在启动类上填写 @RestController
@RestController
@SpringBootApplication
public class ConfigTestApplication {
//...
}定义变量:name 和 age,并且添加 @Value注解
@Value("${my.name}")
String name;
@Value("${my.age}")
int age;4. 添加restapi
@GetMapping("/getinfo")
public String getInfo(){
return name + age ;
}5. 访问接口发现配置信息已经读取成功 二. 将配置文件赋给实体 1. 在上面工程基础上, 新建 UserInfo 实体类,并且添加标注
@Data
@ConfigurationProperties(prefix = "my")
@Component
public class UserInfo {
@Value("${my.name}")
String name;
@Value("${my.age}")
int age;
public String pT(){
return name + " ..." + age;
}2. 在启动类上添加 配置类注解
@RestController
@SpringBootApplication
@EnableConfigurationProperties({UserInfoEx.class,UserInfo.class})
public class ConfigTestApplication {
//...
}3. 定义实体类,添加注解
@Autowired
private UserInfo userInfo;4. 添加restapi 接口
@GetMapping("/getuserinfo")
public String getUserInfo(){
return userInfo.pT();
}5. 访问接口发现配置信息已经读取成功
三. 自定义配置文件 1. 在上面工程基础上,在resources 目录下 添加自定义配置文件 test.properties
you.name=zhansan
you.age=99
you.sex=gg2. 添加自定义配置文件对应的实体类 UserInfoEx,并且添加注解
@Data
@Component
@PropertySource(value = "classpath:test.properties")
@ConfigurationProperties(prefix = "you")
public class UserInfoEx {
String name;
int age;
String sex;
public String pt(){
return name + "..." + age + "..."+sex;
}
}3. 添加实体类对象,并添加注解
@Autowired
private UserInfoEx userInfoEx;4. 添加restapi 接口
@GetMapping("/getuserinfoex")
public String getUserInfoEx(){
return userInfoEx.pt();
}5. 访问接口发现配置信息已经读取成功 四. 多环境配置 1. 在上面工程基础上,在resources 目录下 添加多环境配置文件 application-dev.properties,application-prod.properties,application-test.properties 他们分别对应开发环境,生产环境和测试环境,配置文件内容对应如下: application-dev.properties
server.port=8081
my.name=8081
my.age=8081application-prod.properties
server.port=8082
my.name=8082
my.age=8082application-test.properties
server.port=8083
my.name=8083
my.age=80832. application.yml 添加配置文件如下:
spring:
profiles:
active: dev3. 启动类添加 restcontroller 注解,并且创建 restapi 接口
@GetMapping("/getinfo")
public String getInfo(){
return name + age;
}4. 启动工程,访问restapi接口,发现配置信息已经读取 注意:此处修改了对应访问的接口,访问默认接口为8080,这里把开发环境,生产环境和测试环境接口修改为不一样,更加方便测试.