Spring Boot支持在不同的环境下使用不同的配置文件。
spring boot允许你通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件,
然后通过在application.properties中的配置项spring.profiles.active来具体激活一个或者多个配置文件,
如
spring.profiles.active=dev,test
如果没有指定任何profile的配置文件的话,spring boot默认会启动application-default.properties。
配置文件模式:
application-dev.properties内容如下:
name=开发环境
application-prod.properties内容如下:
name=生产环境
注解模式:
org.springframework.context.annotation.Profile
Spring Boot 使用 @Profile 注解可以实现不同环境下配置参数的切换,
任何 @Component 或 @Configuration 注解的类都可以使用 @Profile 注解。
@Profile(value = "prod")
@Service
public class UserProdServiceImpl implements UserService{
//----------------------
}
@Profile(value = "dev")
@Service
public class UserDevServiceImpl implements UserService{
//----------------------
}
@Profile("production")
@Configuration
public class ProductionConfiguration {
//----------------------
}
@Profile("test")
@Configuration
public class TestConfiguration {
//----------------------
}
启动时指定
java -jar springbootApp.jar --spring.profiles.active=dev
配置文件中指定
可以在SpringBoot默认的或者指定的配置文件(如:application.properties)中增加profile的激活项。如:
spring.profiles.active=dev
spring.profiles.active=prod