zoukankan      html  css  js  c++  java
  • 多Profile环境的使用

    application.properties文件优先级高于application.yml,若两个文件都有配置,spring boot合并两个文件的配置,并根据高优先级配置覆盖低优先级配置

    1、多profile文件的使用,在主配置文件编写的时候,文件名可以是application-{profile}.properties/yml

    这个porfile可以是dev、prod、test,默认使用application.properties,在默认配置文件中可以指定使用那个profile文件,spring.profile.active=dev

    如下面代码所示,比如在application-dev.properties文件中定义端口是:

    server.port= 8081
    而在默认配置文件application.properties文件中定义以下
    server.port= 8086
    
    spring.profies.active=dev

    spring boot 最终会使用dev下的端口:8086

    2、若是在yml文件中,即多profile文档块的方式:则是如下这样的

    server:
      port: 8092
    spring:
      profiles: dev
    
    ---
    
    server:
      port: 8095
    spring:
      profiles:
        active: prod

    那spring boot则会使用prod的环境,端口是8095

    若properties文件也有定义端口,则会优先使用properties文件的端口

    3、另外一些激活方式

    -- 命令行 : java -jar test.jar --spring.profiles.active =dev ,可以在直接测试时指定环境,指定使用dev的profile环境

    -- 配置文件 : spring.profiles.active =dev

    -- jvm参数: -Dspring.profiles.active=dev

    spring boot启动扫描以下位置的application.properties或者application.yml文件作为spring boot 的默认配置文件

    -- file:./config

    -- file:./

    -- classpath:/config

    -- classpath:/

    以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置的内容会覆盖低优先级配置的内容

    我们也可以通过spring.config.location来改变默认配置

     备注:

    1、以下的file是指项目文件夹路径下,而不是模块的文件夹下,经测试在模块文件夹下是没有效果的如下图,是在方框部分的路径,而非在圆圈内的路径:

     2、对于在yml的配置中:

    spring:
      profiles: 8082
    以上配置文件已在最新版本中更改为:
    spring:
    config:
    activate:
    on-profile: dev
     

    若有多个配置文件,多个配置文件之间会互补配置文件。

    优先加载带properties的配置文件,然后由javr包外向jar包内启用配置。

    **************只要学不死就往死里学!************
  • 相关阅读:
    比较完整的HIS系统解释(转载记录)
    ajax读取XML文本(如读取城市)
    js实现自定义右键菜单--兼容IE、Firefox、Chrome
    元素间距属性(scrollLeft,scrollWidth,clientWidth,offsetWidth,padding,margin)
    Js控制iFrame切换加载网址
    比较两个数据库表table结构不同之处
    SQL Server 查询、搜索命令、语句
    Jquery简单瀑布流代码示例
    jQuery中添加自定义或函数方法
    Jmeter脚本增强之参数化(关联数据库)(7)
  • 原文地址:https://www.cnblogs.com/lxhaaron/p/13321304.html
Copyright © 2011-2022 走看看