SpringBoot实现配置文件的替换

作者:「已注销」 时间:2023-11-21 22:27:16 

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

来源:https://blog.csdn.net/a499477783/article/details/81460970

标签:SpringBoot,配置文件,替换
0
投稿

猜你喜欢

  • Android ActionBar搜索功能用法详解

    2023-01-24 21:15:02
  • C#使用iTextSharp添加PDF水印

    2021-10-09 08:59:27
  • 以一个着色游戏展开讲解Android中区域图像填色的方法

    2023-02-04 10:02:51
  • Java 8新的时间日期库的20个使用示例

    2022-11-06 06:55:00
  • java 算法之希尔排序详解及实现代码

    2022-07-12 23:09:45
  • Android自定义带动画的半圆环型进度效果

    2022-02-08 09:31:15
  • Android利用RenderScript实现毛玻璃模糊效果示例

    2021-05-26 02:32:07
  • Mybatis动态SQL foreach标签用法实例

    2023-12-25 07:42:46
  • Java实现统计字符串出现的次数

    2022-12-19 01:06:52
  • Spring Cloud如何使用Feign构造多参数的请求

    2023-11-03 00:18:31
  • Spring Bean的包扫描的实现方法

    2021-10-21 12:40:07
  • java反射应用详细介绍

    2022-06-14 04:59:45
  • JDBC+GUI实现简单学生管理系统

    2022-08-21 02:52:00
  • C#实现判断当前操作用户管理角色的方法

    2023-06-25 09:48:36
  • Java Web开发环境配置详解

    2023-03-05 03:32:37
  • C#使用protobuf-net进行序列化的详细操作

    2021-11-17 02:32:41
  • SpringBoot实现过滤器和拦截器的方法

    2022-10-21 23:29:34
  • C#使用Resources资源文件

    2023-07-04 08:42:48
  • Java中JFrame实现无边框无标题方法

    2021-11-25 20:35:54
  • SpringBoot JdbcTemplate批量操作的示例代码

    2023-05-15 21:46:42
  • asp之家 软件编程 m.aspxhome.com