• 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文件就能被读取。



  • 相关阅读:
    JAVA List对象与json串互相转换
    git错误提示:fatal: remote origin already exists.
    eclipse中js中ctrl+鼠标点击方法出现 the resource is not on the include path of a javaScript project
    JS根据日期获取这周的周一
    jquery基本操作
    redux+react-redux+示例的快速上手体验
    用 async/await 来处理异步
    Git使用详细教程
    SVN里直接把本地目录纳入管理
    修改npm安装的全局路径和配置环境变量的坑
  • 原文地址:https://www.cnblogs.com/LeeScofiled/p/8794892.html
Copyright © 2020-2023  润新知