(一) 使用 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

根据application.properties文件的
spring.profiles.active 不同而不同,
指向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环境 发邮件!");
    }
}

 






posted on 2021-02-24 11:31  周公  阅读(654)  评论(0编辑  收藏  举报

导航