SpringBoot实现配置文件的替换

 更新时间:2021年12月01日 09:03:29   作者:「已注销」  
这篇文章主要介绍了SpringBoot实现配置文件的替换,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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推荐使用配置类的方式给容器中添加组件。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Mybatis获取参数值和查询功能的案例详解

    Mybatis获取参数值和查询功能的案例详解

    这篇文章主要介绍了Mybatis获取参数值和查询功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Java判断上传图片格式的实例代码

    Java判断上传图片格式的实例代码

    这篇文章主要介绍了Java判断上传图片格式的实例代码,在文中给大家提到了Java使用文件头的类型判断上传的文件是否为图片类型,需要的朋友可以参考下
    2019-06-06
  • Java日期时间及日期相互转换实现代码

    Java日期时间及日期相互转换实现代码

    这篇文章主要介绍了Java日期时间及日期相互转换实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 深入理解Java中的HashMap的实现机制

    深入理解Java中的HashMap的实现机制

    这篇文章主要介绍了深入理解Java中的HashMap的实现机制,同时也有助于理解Java中对于哈希函数的相关处理方式,需要的朋友可以参考下
    2015-07-07
  • MyBatis sql中test如何判断Boolean

    MyBatis sql中test如何判断Boolean

    这篇文章主要介绍了MyBatis sql中test如何判断Boolean,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Log4j定时打印日志及添加模块名配置的Java代码实例

    Log4j定时打印日志及添加模块名配置的Java代码实例

    这篇文章主要介绍了Log4j定时打印日志及添加模块名配置的Java代码实例,Log4j是Apache的一个开源Java日志项目,需要的朋友可以参考下
    2016-01-01
  • SpringBoot处理接口幂等性的两种方法详解

    SpringBoot处理接口幂等性的两种方法详解

    接口幂等性处理算是一个非常常见的需求了,我们在很多项目中其实都会遇到。本文为大家总结了两个处理接口幂等性的两种常见方案,需要的可以参考一下
    2022-06-06
  • Spring全局异常捕获不生效问题的解决办法

    Spring全局异常捕获不生效问题的解决办法

    Spring项目全局异常处理不生效,登录接口报错异常信息被直接返回到接口响应中,本文给大家介绍了Spring全局异常捕获不生效问题的解决办法,文中有详细的图文介绍,需要的朋友可以参考下
    2024-04-04
  • Maven scala和java混合打包方式

    Maven scala和java混合打包方式

    这篇文章主要介绍了Maven scala和java混合打包方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • springboot2.5.0和redis整合配置详解

    springboot2.5.0和redis整合配置详解

    本篇文章向大家介绍springboot2.5.0 整合 redis 配置方法,教大家在pom添加依赖的方法如何调用redis,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-06-06

最新评论