Spring Boot 多环境 配置文件配置 及 配置文件读取
Spring Boot 配置文件读取 及 多环境 配置文件配置
一. 自定义属性
1. 新建SpringBoot web工程,选择devops,web及lombok 组件包含
2. 修改 application.properties为 application.yml文件
3. application.yml 写入
my:
name: zhansan
age: 88
4. 在启动类上填写 @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=gg
2. 添加自定义配置文件对应的实体类 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=8081
application-prod.properties
server.port=8082
my.name=8082
my.age=8082
application-test.properties
server.port=8083
my.name=8083
my.age=8083
2. application.yml 添加配置文件如下:
spring:
profiles:
active: dev
3. 启动类添加 restcontroller 注解,并且创建 restapi 接口
@GetMapping("/getinfo")
public String getInfo(){
return name + age;
}
4. 启动工程,访问restapi接口,发现配置信息已经读取
注意:此处修改了对应访问的接口,访问默认接口为8080,这里把开发环境,生产环境和测试环境接口修改为不一样,更加方便测试.