spring-boot是一个大大减少配置的环境,平时我们开发应用是要把开发环境和测试环境的配置给分开,我们可以在spring-boot中去使用profile轻松完成环境的切换。
- 文件的命名规范application-{profile}.properties
其中profile就是环境的名称,application-dev.properties与application-pub.properties. 然后再定义一个激活环境的配置文件application.properties.
举个例子:
application-dev.properties:
db=a
application-pub.properties:
db=b
application.properties:
###分别对应不同的环境的配置文件
dev=dev
pub=pub
##激活配置
spring.profiles.active=dev
我们启动spring-boot:
@SpringBootApplication
@RestController
public class App {
public static void main(String[] args) {
System.out.println("Hello World!");
SpringApplication springApplication = new SpringApplication(App.class);
springApplication.run(args);
}
@RequestMapping("profile")
public String profile(@Value("${db}") String db) {
System.out.println(db);
return "test profile";
}
}
打印a
再把application.properties当中激活的改成pub:
spring.profiles.active=dev
再请求打印b
如果没有配置文件将会加载application-default.properties.多个配置文件,被spring.profiles.active激活拥有优先权。这样简单的配置完成不同的环境配置。