zoukankan      html  css  js  c++  java
  • tctip demo页面>

    (原)

    关于springboot中多环境配置问题

    1、在application.properties文件中通过

    spring.profiles.active=...

    选择系统所要加载的配置文件,这里的...会在application-{...}.properties文件中查找。

    如:

    有这些文件,如果application.properties文件中

    spring.profiles.active=aaa

    那么系统加载文件时,只会读取application.properties和application-aaa.properties中的内容,不会读取application-bbb.properties中的内容。

    参考:

    通过${}可以读取到属性文件中之前的引用值。java程序可以获取app.name可以得到MyApp,获取app.description可以得到 MyApp is a Spring Boot application。

     参考文档

    2、在application.properties文件中通过@..@读取maven属性

    如application.properties中:

    java.version = @java.version@

    在pom.xml中有

    当通过maven的package打完包以后,会发现,application.properties文件中已经变成:

    那么这里的${}和@@这种分割符是怎么定义的?

    在springboot通过IDE自动生成的pom文件中,会有一个parent

    进入到spring-boot-starter-parent的pom文件中,会看到

     参考:

    最后一点:默认的配置文件接收spring风格的${}占位符,过滤maven中的占位符改为了@..@,并且能通过maven属性文件中的resource.delimiter去修改这个占位符。

     参考文档

    参考文档

    如果你的springboot的pom文件中的<parent></parent>中没有spring-boot-starter-parent,那么你需要添加如上如官网中给出的resource 和 plugin。

    3、springboot中的多环境配置

    maven中添加如下:

    profiles中有二个profile标签,意味着有二种配置可选,如上图可看到通过activeByDefault可以默认激活id为bbb的配置,那么此时id为bbb的profile标签中的properties中的所有属性都是生效的,此时可以通过在application.properties中配置

    spring.profiles.active=@profiles.active@

    当通过maven打包时,mvn package -Paaa打包命令,可以将id为aaa的profile中的属性激活,此时spring.profiles.active的值就会变成aaa,application-aaa.properties属性文件就能被读取,如果通过mvn package命令正常的打包,因为默认id为bbb的属性是被激活的,spring.profiles.active的值就会变成bbb,那么application-bbb.properties文件就能被读取。



  • 相关阅读:
    【小程序开发】基本信息页面源码(头像、二维码上传,省市县地区选择,公司选择,名字输入等)
    【小程序开发】购物车加减几件demo
    【前端开发】面向对象编程案例创建对象
    【前端活动】活动常见形式及案例
    【前端开发】限制input输入保留两位小数
    react-native保存图片Android实现方法
    echarts柱状图宽度设置(react-native)
    echarts饼图字体大小修改
    ATOM常用插件推荐
    echarts柱状图的整体高度怎么设置
  • 原文地址:https://www.cnblogs.com/LeeScofiled/p/8794892.html
Copyright © 2011-2022 走看看