在现实的开发环境中,我们需要不同的配置环境。比如开发环境用于开发,测试环境用于测试,预生产环境用于发布测试。那么对于多个环境的配置文件,其文件格式为:application-{profile}.properties,其中{profile}对应我们的环境标识。比如我们这里定义了开发环境和测试环境:
配置文件分别为:
# application-test.properties
my.name=lisi
my.age=19
# application-dev.properties
my.name=zhangsan
my.age=18
然后我们只需要在application.properties中定义spring.profiles.active配置项指定环境。如我们这里先定义为test环境:
spring.profiles.active=test
写一个简单的controller测试一下:
@RestController
@RequestMapping("/custom/properties/*")
public class CustomPropertiesController {
@Value("${my.name:lisi}")
private String name;
@Value("${my.age:17}")
private String age;
@RequestMapping("getNameAndAge")
public String getNameAndAge() {
return "name:" + name + ", age:" + age;
}
}
启动springboot入口类,并通过浏览器访问:
我们修改一下配置文件的标识:
spring.profiles.active=dev
重启一下springboot入口类,然后再通过浏览器访问: