-
Profiles
类似Maven的Profile特性,限定配置项取值的生效场景。
在代码中,对于使用注解@Component
、@Configuration
、@ConfigurationProperties
标记的类,可以增加@Profile
,限定前述类的生效场景。类似如下样例代码,当启动时指定
Profile
为production
时生效。import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; @Configuration(proxyBeanMethods = false) @Profile("production") public class ProductionConfiguration { // ... }
SpringBoot框架定义了如下属性:
spring.profiles.active
spring.profiles.default
spring.config.activate.on-profile
spring.profiles.include
可以通过配置文件、Java的系统属性、命令参数等方式来指定取值
可以在代码中使用
SpringApplication.setAdditionalProfiles
显式指定当前可用的Profile
。