SpringBoot动态获取配置文件

本文介绍了在SpringBoot中动态获取配置文件的三种方法:实现EnvironmentAware接口、使用@Value注解以及@ConfigurationProperties。每种方法都有其适用场景,如EnvironmentAware适用于大量参数,@Value适合少量配置,而@ConfigurationProperties则用于生成配置组件。文章还提到了可能出现的中文乱码问题的解决方案,并邀请读者分享更多动态获取配置的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考博客:

https://blog.csdn.net/qq496013218/article/details/75146757

https://blog.csdn.net/dream_broken/article/details/72385295

自己使用过三种方式:

1、实现EnvironmentAware接口

      其注意事项为需要重写setEnvironment()方法:

@Configuration
@PropertySource("classpath:mybatis.properties") // 如果希望动态获取配置可添加@PropertiySource进行指定
public class MybatisConfig implements EnvironmentAware{
    private Environment env;


    // 此处env默认读取的应该是application.properties文件 -- 这个待我springboot框架搭好后补充
     @Override
    public void setEnvironment(Environment env) {
        // 此处将注入都env赋值给类的成员变量env
        this.env = env;
    }
}

     使用场景:如果从配置文件获取的参数比较多,可以使用这种方式来进行获取。

2、使用@value直接映射

     这个一样可以结合@PropertiesResource使用,用来切换指定的配置文件读取内容。

     使用方式:参考前面的博客即可。

     使用场景:建议在获取较少配置的信息的时候使用这个方式。

     如果遇到中文乱码问题,可参考:https://blog.csdn.net/yhl_jxy/article/details/72803278

3、@ConfigurationProperties

     主要是用来生成配置文件component。这个方式暂时还没有大清楚使用场景,望各位熟悉这个方式的不吝赐教。

 

若有更好的动态获取配置方式,欢迎讨论分享!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值