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代码中用了;

     

     

  • 相关阅读:
    如何从程序集中加载及卸载插件(下)
    Castle AOP 系列(四):实现一个简单的基于上下文调用的权限校验机制
    Castle AOP 系列(一):对类方法调用的拦截
    Mussel使用系列(六):分布式调用的牛刀小试
    新发现XmlNode中变态的地方
    我们发现你在XX邮箱的账号密码与其他网站被盗账号密码一致 请立即更改密码。
    html5 css3 新特性一览表
    [android] Http Post 请求
    [vs 使用技巧] VS2013显示行数 行号
    ORACLE数据库存储使用情况查询命令
  • 原文地址:https://www.cnblogs.com/dangdanghepingping/p/14397454.html
Copyright © 2011-2022 走看看