详解Spring Boot Profiles 配置和使用
介绍
SpringProfiles提供了一套隔离应用配置的方式,不同的profiles提供不同组合的配置,在不同的环境中,应用在启动时通过选择激活某些特定的profiles来适应运行时环境,以达到在不同的环境可以使用相同的一套程序代码。
环境
- JDK8
- Maven3
- IntelliJIDEA2016
- SpringBoot1.5.2.RELEASE
@Profiles
你可以在任何@Component(@Service,@Repository)或@Configuration注解标注的类中使用@Profiles注解:
publicinterfacePaymentService{
StringcreatePaymentQrcode();
}
@Service
@Profile("alipay")
publicclassAlipayServiceimplementsPaymentService{
@Override
publicStringcreatePaymentQrcode(){
return"支付宝支付二维码";
}
}
@Service
@Profile({"default","wechatpay"})
publicclassWechatpayServiceimplementsPaymentService{
@Override
publicStringcreatePaymentQrcode(){
return"微信支付二维码";
}
}
在SpringBoot中,默认的profile是default,因此,PaymentService.createPaymentQrcode()->微信支付二维码。
你可以通过spring.profiles.active来激活某个特定profile:
java-jar-Dspring.profiles.active='alipay'xxx.jar
PaymentService.createPaymentQrcode()->支付宝支付二维码。
多环境配置
在SpringBoot中,多环境配置文件可以使用application-{profile}.{properties|yml}的方式。
@Component
@ConfigurationProperties("jdbc")
publicclassJdbcProperties{
privateStringusername;
privateStringpassword;
//gettersandsetters
}
开发环境application-dev.properties配置:
jdbc.username=root jdbc.password=123654
生产环境application-prod.properties配置:
jdbc.username=produser jdbc.password=16888888
或:
开发环境application-dev.yml配置:
jdbc: username:root password:123654
生产环境application-prod.yml配置:
jdbc: username:produser password:16888888
或:
只使用application.yml,并在此文件中通过---分隔符创建多profile配置:
app: version:1.0.0 spring: profiles: active:"dev" --- spring: profiles:dev jdbc: username:root password:123654 --- spring: profiles:prod jdbc: username:produser password:16888888
命令行启动:
java-jar-Dspring.profiles.active=prodxxxx.jar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短