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

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

相关文章

  • Lombok中关于@Data的使用解析

    Lombok中关于@Data的使用解析

    这篇文章主要介绍了Lombok中关于@Data的使用解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java使用Hex编码解码实现Aes加密解密功能示例

    java使用Hex编码解码实现Aes加密解密功能示例

    这篇文章主要介绍了java使用Hex编码解码实现Aes加密解密功能,结合完整实例形式分析了Aes加密解密功能的定义与使用方法,需要的朋友可以参考下
    2017-01-01
  • Spring Data Neo4j实现复杂查询的多种方式

    Spring Data Neo4j实现复杂查询的多种方式

    在 Spring Data Neo4j 中,实现复杂查询可以通过多种方式进行,包括使用自定义查询、方法命名查询以及使用 Cypher 查询语言,以下是详细介绍,帮助你在 Spring Data Neo4j 中实现复杂查询,需要的朋友可以参考下
    2024-11-11
  • Java throw和throws使用区别分析

    Java throw和throws使用区别分析

    这篇文章主要介绍了Java throw和throws使用区别分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • ehcache模糊批量移除缓存的方法

    ehcache模糊批量移除缓存的方法

    本篇文章主要介绍了ehcache模糊批量移除缓存的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Java中final变量使用总结

    Java中final变量使用总结

    这篇文章主要介绍了Java中final变量使用总结,final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值,通常final定义的变量为常量,需要的朋友可以参考下
    2015-06-06
  • java版简单的猜数字游戏实例代码

    java版简单的猜数字游戏实例代码

    猜数字游戏是一款经典的游戏,该游戏说简单也很简单,说不简单确实也很难,那么下面这篇文章主要给大家介绍了java版简单的猜数字游戏的相关资料,文中给出了详细的实现分析和示例代码供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-05-05
  • 熟练掌握Java8新特性之Stream API的全面应用

    熟练掌握Java8新特性之Stream API的全面应用

    Stream是Java8的一大亮点,是对容器对象功能的增强,它专注于对容器对象进行各种非常便利、高效的 聚合操作(aggregate operation)或者大批量数据操作。Stream API借助于同样新出现的Lambda表达式,极大的提高编程效率和程序可读性,感兴趣的朋友快来看看吧
    2021-11-11
  • 关于Java继承中父类和子类构造函数的问题

    关于Java继承中父类和子类构造函数的问题

    这篇文章主要介绍了关于Java继承中父类和子类构造函数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • SpringBoot Java后端实现okhttp3超时设置的方法实例

    SpringBoot Java后端实现okhttp3超时设置的方法实例

    Okhttp的使用没有httpClient广泛,网上关于Okhttp设置代理的方法很少,下面这篇文章主要给大家介绍了关于SpringBoot Java后端实现okhttp3超时设置的相关资料,需要的朋友可以参考下
    2021-10-10

最新评论