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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android ActionBar搜索功能用法详解
C#使用iTextSharp添加PDF水印
以一个着色游戏展开讲解Android中区域图像填色的方法
![](https://img.aspxhome.com/file/2023/8/137408_0s.gif)
Java 8新的时间日期库的20个使用示例
java 算法之希尔排序详解及实现代码
Android自定义带动画的半圆环型进度效果
Android利用RenderScript实现毛玻璃模糊效果示例
![](https://img.aspxhome.com/file/2023/1/100651_0s.jpg)
Mybatis动态SQL foreach标签用法实例
Java实现统计字符串出现的次数
Spring Cloud如何使用Feign构造多参数的请求
Spring Bean的包扫描的实现方法
![](https://img.aspxhome.com/file/2023/6/97816_0s.png)
java反射应用详细介绍
JDBC+GUI实现简单学生管理系统
![](https://img.aspxhome.com/file/2023/5/76605_0s.jpg)
C#实现判断当前操作用户管理角色的方法
Java Web开发环境配置详解
![](https://img.aspxhome.com/file/2023/1/66971_0s.png)
C#使用protobuf-net进行序列化的详细操作
![](https://img.aspxhome.com/file/2023/1/72481_0s.png)
SpringBoot实现过滤器和拦截器的方法
C#使用Resources资源文件
![](https://img.aspxhome.com/file/2023/6/84496_0s.png)
Java中JFrame实现无边框无标题方法
![](https://img.aspxhome.com/file/2023/4/96074_0s.png)