参考博客:
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。这个方式暂时还没有大清楚使用场景,望各位熟悉这个方式的不吝赐教。
若有更好的动态获取配置方式,欢迎讨论分享!