SpringBoot动态获取配置文件

参考博客:

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。这个方式暂时还没有大清楚使用场景,望各位熟悉这个方式的不吝赐教。

 

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

 

你可能感兴趣的:(SpringBoot框架配置)