SpringBoot实现配置文件的替换

2021-12-01

目录
  • SpringBoot配置文件的替换
    • 使用spring.profiles.active
      • application.properties
      • application.yml
  • SpringBoot读取配置文件汇总
    • 1、使用注解@ConfigurationProperties映射
      • 2、使用注解Value("${key}")映射
        • 3、使用注解@PropertySource("classpath:xxx.properties")
          • 4、使用 Environment
            • 5、使用@ImportResource注解

            SpringBoot配置文件的替换

            使用spring.profiles.active

            在工作中,测试或上线的时候一定会遇到的问题就是修改配置。一般来说都有如下几种配置可用:dev(开发环境),test(测试环境),pro(生产|线上环境)。这时候,我们就需要去注释掉配置文件中的所有配置,再解开需要的配置。这时候,就可以通过spring.profiles.active的配置来解决这个问题。

            application.properties

            根据不同的环境创建不同的properties文件,如application-dev.properties,application-test.properties,application-pro.properties。

            创建application.properties,内容如下:

            spring.profiles.active=dev # test测试、pro生产

            然后通过修改application.properties来更改不同的配置。

            application.yml

            同上,根据不同的环境创建不同的yml配置文件,以后缀区分(如:application-dev.yml)。

            创建application.yml,内容如下:

            spring:
                profiles:
                    active: test # dev开发、pro生产

            同上,修改配置文件只需要更改application.yml文件即可。

            SpringBoot读取配置文件汇总

            1、使用注解@ConfigurationProperties映射

            通过注解@ConfigurationProperties(prefix=“配置文件中的key的前缀”)可以将配置文件中的配置自动与实体进行映射application.properties配置。

            2、使用注解Value("${key}")映射

            可以通过@Value注解将配置文件中的值映射到一个Spring管理的Bean的字段上。

            3、使用注解@PropertySource("classpath:xxx.properties")

            加载自定义属性文件的注解

            专门用来加载指定位置的properties文件,需与@ConfigurationProperties(prefix ="" )配合使用,Spring暂未提供加载指定位置yml文件的注解。

            4、使用 Environment

            这个环境配置类,不光能读取配置文件,还能读取系统变量,比如jdk版本,当前操作系统类型,用户目录等等。

            5、使用@ImportResource注解

            使用将外部的配置文件加载到程序中来,比如我们定义一个beans.xml文件,里面配置了一个bean,默认情况下这个bean是不会加载到Spring容器中来的。我们需要@ImportResource(locations = {"classpath:beans.xml"})注解将这个配置文件加载进来。SpringBoot推荐使用配置类的方式给容器中添加组件。

            以上为个人经验,希望能给大家一个参考,也希望大家多多支持北冥有鱼。

            《SpringBoot实现配置文件的替换.doc》

            下载本文的Word格式文档,以方便收藏与打印。