在 Spring Boot 中,可以通過以下方法為 profiles 設置默認值:
spring.profiles.default
屬性在 application.properties
或 application.yml
文件中,添加以下配置:
# application.properties
spring.profiles.default=dev
或者
# application.yml
spring:
profiles:
default: dev
這將設置默認的活動配置文件為 “dev”。如果沒有指定其他活動配置文件,Spring Boot 將使用 “dev” 作為默認配置文件。
在啟動 Spring Boot 應用程序時,可以通過命令行參數設置默認的配置文件。例如:
java -jar yourapp.jar --spring.profiles.default=dev
或者,當使用 Maven 或 Gradle 運行應用程序時:
mvn spring-boot:run -Dspring-boot.run.arguments=--spring.profiles.default=dev
或者
gradle bootRun --args='--spring.profiles.default=dev'
在 Spring Boot 應用程序中,可以編程方式設置默認的配置文件。創建一個實現 org.springframework.boot.SpringApplicationRunListener
接口的類,并覆蓋 environmentPrepared
方法,如下所示:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringApplicationRunListener;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.PropertiesPropertySource;
public class DefaultProfileApplicationRunListener extends SpringApplicationRunListener {
public DefaultProfileApplicationRunListener(SpringApplication application, String[] args) {
super(application, args);
}
@Override
public void environmentPrepared(ConfigurableEnvironment environment) {
if (!environment.getPropertySources().contains("classpath:/application.yml")) {
Properties defaultProperties = new Properties();
defaultProperties.put("spring.profiles.default", "dev");
PropertiesPropertySource propertySource = new PropertiesPropertySource("defaultProperties", defaultProperties);
environment.getPropertySources().addLast(propertySource);
}
}
}
然后,需要在 src/main/resources/META-INF/spring.factories
文件中注冊此自定義 SpringApplicationRunListener
:
org.springframework.boot.SpringApplicationRunListener=com.example.DefaultProfileApplicationRunListener
這樣,在沒有指定其他活動配置文件時,Spring Boot 將使用 “dev” 作為默認配置文件。