![](/img/trans.png)
[英]What is Annotation counterpart for Spring <context:property-override>?
[英]Combinating context:property-override and PropertyPlaceholderConfigurer
我的以下Spring上下文配置文件有問題:
...
<context:property-override location="classpath:query_1.properties" />
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:query_2.properties" />
</bean>
....
問題是找不到文件“ query_2.properties”中的屬性。 我得到以下例外:
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException. Could not resolve placeholder...
現在我的問題是:context:property-override和PropertyPlaceholderConfigurer的組合可能沒有任何意義嗎? 誰能用簡單的詞解釋我兩者之間的區別? 任何幫助,將不勝感激。
謝謝。 賀拉斯
通常使用<context:property-placeholder location=../>
定義的<context:property-placeholder location=../>
解析bean定義中的占位符:
例如
<bean name="myclass" class="MyClass">
<property name="prop1" value="${prop1val}/>
</bean>
如果使用屬性占位符指定的位置具有名稱為prop1val的屬性:
prop1val=aval
然后它將在bean myclass
替換。
另一方面,使用<context:property-override location="classpath:query_1.properties" />
類似於推送機制,該屬性的形式為beanname.property
,它將將該屬性推送到名稱為beanname
的bean中。
例如。 對於上述情況,如果該位置具有以下屬性:
myclass.prop1=aval
那么它將注入myclass
bean的prop1
中
您得到的異常只是表明它無法找到query_2.properties
文件,我懷疑這是否是其他任何配置問題。
如果兩者都定義,那么哪一個將生效,我認為最后一個將生效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.