环境切换大法:掌握Spring Boot多套配置与@Profile注解的高级技巧
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.context.annotation.PropertySource;
@Configuration
@Profile("dev") // 指定当dev环境激活时,该配置类生效
@PropertySource("classpath:application-dev.properties") // 指定dev环境下的配置文件
public class DevelopmentConfig {
// 配置内容...
}
@Configuration
@Profile("prod") // 指定当prod环境激活时,该配置类生效
@PropertySource("classpath:application-prod.properties") // 指定prod环境下的配置文件
public class ProductionConfig {
// 配置内容...
}
// 在application.properties或application.yml中指定当前环境
spring.profiles.active=dev // 可以是dev或prod,根据需要切换不同环境
// 在Spring Boot应用启动时,通过传入参数来切换环境
// 例如,使用Spring Boot Maven插件启动时:
// mvn spring-boot:run -Dspring.profiles.active=dev
// 或者在命令行启动时:
// java -jar yourapp.jar --spring.profiles.active=prod
这段代码展示了如何在Spring Boot中使用@Profile
注解和@PropertySource
注解来根据不同的环境加载不同的配置。开发者可以通过在application.properties
或application.yml
中设置spring.profiles.active
属性来指定当前环境,或者在启动时通过命令行参数来切换环境。这样的设计使得在不同的开发阶段或部署环境中,可以方便地切换配置,而不需要修改代码。
评论已关闭