主页 > 人工智能  > 

SpringBoot--Profiles

Profiles具备环境隔离能力,可以将我们的项目快速切换开发、测试、生产环境 我们的使用步骤也很简单: 1. 标识环境:指定哪些组件、配置在哪个环境生效 2. 切换环境:这个环境对应的所有组件和配置就应该生效 接下来就进行详细的介绍 1. 使用 1.1 指定环境 Spring Profiles 提供一种隔离配置的方式,使其仅在特定环境生效;任何@Component, @Configuration 或 @ConfigurationProperties 可以使用 @Profile 标记,来指定何时被加载。【容器中的组件都可以被 @Profile标记】 1.2 环境激活

配置激活指定环境;

spring.profiles.active=dev

也可以使用命令行激活。–spring.profiles.active=dev

还可以配置默认环境; 不标注@Profile 的组件永远都存在。 a. 如果不改变默认环境,默认的默认环境叫default b. 我们可以通过spring.profiles.default=test对默认环境进行配置

1.3 注意

spring.profiles.active 和spring.profiles.default 只能用到 无 profile 的文件中,如果在application-dev.yaml中编写就是无效的。

其实这一点很好理解,只有将环境切换为dev后,application-dev.yaml才会生效。如果在application-dev.yaml中才将dev环境激活,那么,application-dev.yaml生效后会激活dev,但激活了dev后application-dev.yaml才会生效,两者互相矛盾,就好像死锁了,永远也无法生效。

也可以额外添加生效文件,而不是激活替换。比如: spring.profiles.include[0]=common spring.profiles.include[1]=local

生效的环境 = 激活的环境/默认环境 + 包含的环境

项目里面这么用 ○ 基础的配置mybatis、log、xxx:写到包含环境中,因为包含环境永远生效 ○ 需要动态切换变化的 db、redis:写到激活的环境中

2. Profile 分组

创建prod组,指定包含db和mq配置

spring.profiles.group.prod[0]=db spring.profiles.group.prod[1]=mq

使用 spring.profiles.active=prod ,就会激活prod,db,mq配置文件

2.3 Profile 配置文件 application-{profile}.properties可以作为指定环境的配置文件。激活这个环境,配置就会生效。最终生效的所有配置是 application.properties:主配置文件,任意时候都生效application-{profile}.properties:指定环境配置文件,激活指定环境生效 profile优先级 > application
标签:

SpringBoot--Profiles由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“SpringBoot--Profiles