全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解Spring Boot Profiles 配置和使用

介绍

Spring Profiles 提供了一套隔离应用配置的方式,不同的 profiles 提供不同组合的配置,在不同的环境中,应用在启动时通过选择激活某些特定的 profiles 来适应运行时环境,以达到在不同的环境可以使用相同的一套程序代码。

环境

  1. JDK 8
  2. Maven 3
  3. IntelliJ IDEA 2016
  4. 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配置  # Profiles  # springboot yml中profiles的巧妙用法(小白必看多环境配置)  # 使用spring.profiles.active来分区配置的方法示例  # Spring Boot配置特定属性spring.profiles的方法  # Spring Boot 2.4配置特定环境时spring: profi  # 你可以  # 可以使用  # 支付宝  # 在此  # 用在  # 命令行  # 配置文件  # 启动时  # 大家多多  # 类中  # 分隔符  # 以达到  # Configuration  # pre  # Repository  # PaymentService  # alipay  # Service  # class  # Profile 


相关文章: 建站主机与虚拟主机有何区别?如何选择最优方案?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何通过主机屋免费建站教程十分钟搭建网站?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  如何用搬瓦工VPS快速搭建个人网站?  如何通过VPS建站无需域名直接访问?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  广德云建站网站建设方案与建站流程优化指南  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  导航网站建站方案与优化指南:一站式高效搭建技巧解析  Python路径拼接规范_跨平台处理说明【指导】  威客平台建站流程解析:高效搭建教程与设计优化方案  ,网站推广常用方法?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  学校为何禁止电信移动建设网站?  建站之星如何通过成品分离优化网站效率?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  一键网站制作软件,义乌购一件代发流程?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  网站制作网站,深圳做网站哪家比较好?  Android滚轮选择时间控件使用详解  建站之星图片链接生成指南:自助建站与智能设计教程  建站之星如何实现五合一智能建站与营销推广?  如何选择CMS系统实现快速建站与SEO优化?  江苏网站制作公司有哪些,江苏书法考级官方网站?  网站制作壁纸教程视频,电脑壁纸网站?  如何快速搭建高效简练网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  建站之星后台密码遗忘或太弱?如何重置与强化?  用v-html解决Vue.js渲染中html标签不被解析的问题  建站之星如何修改网站生成路径?  香港网站服务器数量如何影响SEO优化效果?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  制作电商网页,电商供应链怎么做?  如何配置WinSCP新建站点的密钥验证步骤?  如何快速搭建FTP站点实现文件共享?  免费视频制作网站,更新又快又好的免费电影网站?  如何选择高性价比服务器搭建个人网站?  如何在万网主机上快速搭建网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  C#怎么使用委托和事件 C# delegate与event编程方法  免费网站制作appp,免费制作app哪个平台好?  建站主机选购指南与交易推荐:核心配置解析  如何在云主机上快速搭建网站?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  临沂网站制作公司有哪些,临沂第四中学官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。