zoukankan      html  css  js  c++  java
  • springboot笔记(4) 多环境配置和引用配置文件中的内容

    一. 配置文件格式有yml和properties.

        1. yml格式因为会自动的将同一对象下的属性聚集在一块, 并且文件相对较小, 所以是首选;

         2.多环境配置: 开发环境和生成环境都配置在同一yml文件中

    如下图是我项目的三个配置文件,其中,application.yml是启动服务时,服务器会自动加载的配置文件,而application-dev.yml代表的是开发环境的配置文件,application-prod.yml代表的是生产环境的配置文件,后两个文件在启动服务时,服务器不会自动加载,那么在不同的环境中时怎么调用不同的文件的呢?

      

    方式一、修改配置文件方式

        修改application.yml配置文件,具体内容如下图:

    这样,在启动服务时,服务器就会通过application.yml文件去调用application-dev.yml文件。同理,若active: prod,那么服务在启动时,服务器就会调用application-prod.yml文件。也就是说,在开发环境时,只需将application.yml配置文件配置为"dev",而生产环境时,只需将“dev”改为“prod”就可以了。

    方式二、命令启动服务,命令中带参数方式(此方式可以没有application.yml文件)

    第一步:进入到项目目录下,先用maven对项目进行打包,会在target目录下生成项目的jar包

        打包可以用右侧的moven窗口

           第二步:进入target目录,执行命令:java -jar 生成的jar包 --spring.profiles.active=dev

                  (其中的--代表条件)

     项目就会调用application-dev.yml配置文件,而不是application.yml, 的配置要求启动服务。同理,若是开发环境,只需将prod改为dev即可。

    二.  引入配置文件信息

          1.@Value("${配置属性}")会自动获取配置文件的属性并赋值给变量,

              例子: 在配置文件中有属性picpath, 想在java代码中用这个属性;

            

     

     2 @ConfigurationProperties注解获取大量的注解

    在java代码中获取application-pro.yml配置文件中的aliyun属性下所有的属性值(111,222,333)

    (1)新建包properties, 类AliyunProperty;(这里用了一个类单独获取aliyun配置)

    (2) 添加类注解@ConfigurationProperties(profiex = "aliyun")

    (3)@Component添加类到ioc容器中

    (4)设置类的属性名与aliyun的属性名一直, 

    然后就可以在java代码中用了;

     

     

  • 相关阅读:
    ASP.NET在禁用视图状态的情况下仍然使用ViewState对象【转】
    Atcoder Regular Contest 061 D Card Game for Three(组合数学)
    Solution 「CERC 2016」「洛谷 P3684」机棚障碍
    Solution 「CF 599E」Sandy and Nuts
    Solution 「洛谷 P6021」洪水
    Solution 「ARC 058C」「AT 1975」Iroha and Haiku
    Solution 「POI 2011」「洛谷 P3527」METMeteors
    Solution 「CF 1023F」Mobile Phone Network
    Solution 「SP 6779」GSS7
    Solution 「LOCAL」大括号树
  • 原文地址:https://www.cnblogs.com/dangdanghepingping/p/14397454.html
Copyright © 2011-2022 走看看