我試圖在使用@Value
設置spring bean中的字符串的值時,我的屬性源是PropertyPlaceholderConfigurer
的子類。有人知道怎麼做嗎 ?使用spring3 @Value訪問PropertyPlaceholderConfigurer值?
10
A
回答
0
您是否設法通過使用屬性語法顯式注入bean定義文件中的值來實現它的工作?從理論上講,如果有效,那麼你應該可以在@Value
中使用相同的表達式。對於這個問題,你應該可以使用@Autowired @Qualifier
也
0
我不認爲有可能通過使用SPEL在@Value
註釋中訪問由PropertyPlaceHolderConfigurer
加載的屬性。這將是巨大的,但據我所知,未來最好的事情是聲明:
<util:properties id="props" location="classpath:xxx/yyy/app.props"/>
它可以指向相同的屬性文件作爲PropertyPlaceHolderConfigurer
。
15
老問題,但仍值得回答。您可以像使用原始PropertyPlaceholderConfigurer
一樣使用表達式。
app.properties
app.value=Injected
APP-context.xml中
<bean id="propertyConfigurer" class="MyPropertyPlaceholderConfigurer">
<property name="location">
<value>file:app.properties</value>
</property>
</bean>
目標豆
@Value(value="${app.value}")
private String injected;
測試這種方法使用Spring 3.0.6
相關問題
- 1. 使用@value與PropertyPlaceholderConfigurer
- 2. @Value註解和數據庫PropertyPlaceHolderConfigurer
- 3. 訪問自定義屬性PropertyPlaceholderConfigurer
- 4. 無法訪問Newtonsoft.Json.Linq.J上的子值Value
- 5. jquery訪問children()value(使用.html())
- 6. 如何在Spock測試中對Spring PropertyPlaceholderConfigurer使用@Value註釋?
- 7. Spring.NET PropertyPlaceholderConfigurer使用$ {我的價值}
- 8. 使用PropertyPlaceholderConfigurer和PropertySource
- 9. 使用spring3的異常
- 10. OC4J 10.1.3.5/Spring3問題
- 11. Maven項目:使用PropertyPlaceholderConfigurer
- 12. propertyplaceholderconfigurer類名替代問題
- 13. 訪問JSON對象鍵/值其中value是使用下劃線的數組
- 14. 從PropertyPlaceholderConfigurer訪問屬性與多個屬性文件
- 15. 訪問值使用JavaScript
- 16. 使用jQuery訪問json值
- 17. 使用ruby訪問Javascript值
- 18. 使用PHP訪問XML值
- 19. 使用Prototype訪問CGI值
- 20. Spring訪問配置 - 使用@Value設置變量時發生AlreadyBuiltException
- 21. 使用@Value批註訪問Spring引導application.properties
- 22. 如何訪問viewCategoryColumn中的「value」屬性
- 23. 隨機訪問時缺少Freemarker中map(key,value)的值嗎?
- 24. Spring3依賴注入不能使用mule
- 25. Springframework PropertyPlaceholderConfigurer
- 26. Tomcat無法訪問Spring3中的JAR WAR文件
- 27. 在Spring3 Web App中訪問beanFactory的更好方法
- 28. 如何在Spring3中訪問ServletContextListener中的DAO方法
- 29. Spring3 - @Autowired
- 30. Jersey2與Spring3:
你可以也創建你自己的PropertyPlaceHolde rConfigurer公開其屬性。你可以在這裏找到一個例子:http://mortarproject.svn.sourceforge.net/viewvc/mortarproject/src/trunk/mortar-core/src/main/java/org/mortar/spring/beans/factory/config /EnhancedPropertyPlaceholderConfigurer.java?revision=70&view=markup您必須使用舊的而不是更新的註冊它,以便您可以設置一個id然後將其引用到您的值標籤爲@Value(#{xxx.properties ['foo.bar']}) –
pakman
2011-03-18 23:50:31
我不認爲你需要把xxx.properties文件名,彈簧加載所有的屬性文件,你只需要確保您的密鑰在所有屬性文件中都是唯一的。 – Ashish 2012-03-29 16:44:25
這是不正確的。從Spring 3開始,您可以使用SPEL訪問PropertyPlaceHolderConfigurer值。 – 2014-04-08 17:31:00