springboot @ConfigurationProperties和@PropertySource的区别有哪些

2023-04-24,,

这篇文章主要为大家展示了“springboot @ConfigurationProperties和@PropertySource的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“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工具本身入手,根本不能解决问题,最后还是我自己看注解的源码才发现有这个属性的。

以上是“springboot @ConfigurationProperties和@PropertySource的区别有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注本站行业资讯频道!

《springboot @ConfigurationProperties和@PropertySource的区别有哪些.doc》

下载本文的Word格式文档,以方便收藏与打印。