springboot @ConfigurationProperties和@PropertySource的区别
springboot @ConfigurationProperties和@PropertySource区别
@ConfigurationProperties
:寻找的是全局配置文件
@PropertySource
:寻找的是指定的配置文件
理解里面有一个参数 value,可以指定很多个配置文件,所以是使用一个数组{}
springboot推荐使用这种方式给容添加组件:
创建一个config包,然后在包下创建一个class
使用@bean给容器中添加组件
springboot 使用@ConfigurationProperties和@PropertySource的问题
在使用Springboot时我们经常把一些key-value的属性值配置在
.properties配置文件中,我们想通过@Value搭配Spring EL来读取配置文件中的值来给我们的变量赋值。
在spring1.5一下提供了一个类注解:
@ConfigurationProperties:
常用的两个属性是:
locations
:指定配置文件
prefix
:指定该配置文件中的某个属性群的前缀
但是使用spring1.5时,源码部分做了修改,去掉了locations属性,所以另一个注解就上场啦
@PropertySource:
value
:这里指定配置文件,替代原来@ConfigurationProperties的locations
encoding
:指定读取配置文件时的编码
这个encoding很重要,如果不指定使用默认的话很可能出现读取乱码的情况,我写demo就遇到了,百度了很多解决方案都是从ide工具本身入手,根本不能解决问题,最后还是我自己看注解的源码才发现有这个属性的。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341