通过@propertysource批注和使用PropertySourcesHolderConfigure bean在春季加载属性文件之间有什么区别?

时间:2018-09-28 05:37:44

标签: java spring properties-file spring-annotations

我正在研究如何在Spring中访问属性文件,我很困惑地找出<context:property-placeholder>PropertySourcesPlaceHoderConfigure@PropertySourcePropertyPlaceHolderConfigure之间的区别。 / p>

2 个答案:

答案 0 :(得分:0)

来自PropertySourcesPlaceholderConfigurer docs

PropertySourcesPlaceholderConfigurer更加灵活,并且可以与Environment和PropertySource交互。它可以是局部属性或系统属性或环境变量。

  

Individual的专业化解决了针对当前c及其PlaceholderConfigurerSupport集合的bean定义属性值和@Value注释中的${...}占位符。

答案 1 :(得分:0)

PropertyPlaceholderConfigurer

当我们需要加载一些属性文件的属性时,我们使用PropertyPlaceholderConfigurer,这些文件的属性在spring的applicationcontext.xml中使用。我们可以直接使用JSTL表达式来使用属性。

@PropertySource

此注释为活动的Spring environment提供属性。

上下文:属性占位符

注册一个组件,该组件可以在bean定义中解析$ {propertyname}形式的占位符。知道自己不仅需要查看通过其location属性注册的属性,还需要查看当前活动环境中可用的属性(已通过@PropertySource批注添加了这些属性),这足够聪明。