👨🎓作者:Java学术趴 🏦仓库:Github、Gitee ✏️博客:CSDN、掘金、InfoQ、云+社区 💌公众号:Java学术趴 🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。 🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。微信搜索公众号Java学术趴联系小编。
☠️每日毒鸡汤:这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!
该注解生效的条件:
该注解需要的参数:
@Profile使用在类上
@Configuration
// 此时这个类只能在 prod 环境下才可以生效,其中这个类中的所有方法也只有在该环境下才生效
@Profile("prod")
public class Test {
...
}
复制代码
@Profile使用在方法上
@Configuration
// 因为这个类没有被 @Profile 声明,所以此时这个类在所有的环境中都可以生效
public class Test {
// 因为这个方法被 @Profile("dev") 声明,所以该方法只会在 dev 环境下才会生效
@Profile("dev")
public void test01() {
...
}
// 因为这个方法被 @Profile("prod") 声明,所以该方法只会在 prod 环境下才会生效
@Profile("prod")
public void test02() {
}
}
复制代码
SpringBoot中使用主配置文件 (application.yml、application.properties) 中的 spring.profiles.active 来配置当前项目所处的环境。
application.properties
spring.profiles.active=dev
复制代码
application.yml
spring:
profiles:
active: dev
复制代码
注意:写在 @Profile 注解中的环境必须和配置文件中的环境名一致。
// 比如:存在两种环境, dev 和 prod
applcation.properties - 公共配置
application-dev.properties - 开发环境配置
application-prod.properties - 生产环境配置
复制代码
我们只需要在主配置文件中使用 spring.profiles.active = dev 即可指定相应的配置文件
application.yml
spring.
profiles.
active: dev
复制代码
按照以上方式,此时会把 dev 的环境激活。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。