(一) 使用 spring.profiles.active来区分配置
本文参考:https://blog.csdn.net/uniquewonderq/article/details/79963719
基本应用:
spring boot允许你通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件,然后通过在application.properyies通过spring.profiles.active来具体激活一个或者多个配置文件,如果没有没有指定任何profile的配置文件的话,spring boot默认会启动application-default.properties。
profile的配置文件可以按照application.properyies的放置位置一样,放于以下四个位置:
- 当前目录的 “/config”的子目录下
- 当前目录下
- classpath根目录的“/config”包下
- classpath的根目录下
demo 演示
在这里我们就定义俩个profile文件,
application-sit.properties和application-prd.properties,
并在俩个文件中都分别
写上变量
#模拟测试变量
curvar=sit.curvar
#模拟生产变量 curvar=prd.curvar
spring.profiles.active 不同而不同,
根据application.properties文件的
指向sit就是获取 application-sit.properties文件的sit.curvar,指向prd就是获取application-prd.properties文件的
prd.curvar
高级应用:
指向不同的类,执行的时候获取到指定的类
dev
@Service @Slf4j @Profile("dev") public class DevEmailService implements EmailService{ @Override public void sendEmail() { log.info("dev环境 不发邮件!"); } }
prd
@Service @Slf4j @Profile("dev") public class PrdEmailService implements EmailService{ @Override public void sendEmail() { log.info("prd环境 发邮件!"); } }