Spring Boot Profiles使用的实例教程
介绍
Spring Profiles 提供了一套隔离应用配置的方式,不同的 profiles 提供不同组合的配置,在不同的环境中,应用在启动时通过选择激活某些特定的 profiles 来适应运行时环境,以达到在不同的环境可以使用相同的一套程序代码。
环境
JDK 8
Maven 3
IntelliJ IDEA 2016
Spring Boot 1.5.2.RELEASE
@Profiles
你可以在任何 @Component(@Service,@Repository) 或 @Configuration 注解标注的类中使用 @Profiles 注解:
public interface PaymentService { String createPaymentQrcode(); }
@Service @Profile("alipay") public class AlipayService implements PaymentService { @Override public String createPaymentQrcode() { return "支付宝支付二维码"; } }
@Service @Profile({"default", "wechatpay"}) public class WechatpayService implements PaymentService { @Override public String createPaymentQrcode() { return "微信支付二维码"; } }
在 Spring Boot 中,默认的 profile 是 default,因此,PaymentService.createPaymentQrcode() ->
微信支付二维码。
你可以通过 spring.profiles.active
来激活某个特定 profile:
java -jar -Dspring.profiles.active='alipay' xxx.jar
PaymentService.createPaymentQrcode() ->
支付宝支付二维码。
多环境配置
在Spring Boot 中,多环境配置文件可以使用 application-{profile}.{properties|yml} 的方式。
@Component @ConfigurationProperties("jdbc") public class JdbcProperties { private String username; private String password; // getters and setters }
开发环境 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=prod xxxx.jar
以上就是Spring Boot Profiles使用的实例教程的详细内容,更多请关注其它相关文章!
下一篇: php多个框架的优缺点总结
推荐阅读
-
idea创建一个入门Spring Boot项目(controller层)使用Moven代码管理
-
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
-
Spring集成jedis的配置与使用简单实例
-
Spring-Boot 集成Solr客户端的详细步骤
-
详解Spring Boot 使用Spring security 集成CAS
-
用Spring Boot进行后端开发(二):与微信小程序的交互,在微信小程序端获取数据并显示
-
详解配置spring-boot-actuator时候遇到的一些小问题
-
spring boot的maven配置依赖详解
-
把spring boot项目发布tomcat容器(包含发布到tomcat6的方法)
-
使用 Spring Boot 内嵌容器 Undertow创建服务器的方法