简述
其实并不像标题那样,是什么高大上的东西,以学过C或者汇编的人的角度来看,其实就是一个类似于【宏】的玩意。其中一个重要的用途就是,通过配置这个开关,来达成把生产,开发,测试三种环境分开来,因为日常开发中,我们的数据库地址,日志输出路径,或者说dubbo连接的服务器地址,都会因为这三种环境而不同。一键切换,就是它的效果。
配置
在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境
在application.properties文件中通过spring.profiles.active
属性来设置来加载对应的配置,例如 spring.profiles.active=test
,就会加载 application-test.properties
- 测试
我在application-test.properties中,tomcat启动端口设置为8080,application.properties中,spring.profiles.active=test
,启动后,日志如下,并且实测的确生效
高级应用
- @Profile
@Profile("test")能用于在spring初始化的时候,依据配置的环境来生成对应的bean
例如在使用bean的方式来配置数据库连接地址
其他高级应用,点这里(二)配置文件解析