Spring 解析屬性佔位符
在Spring裝配中,佔位符格式: ${ ... } 使用它包裝的屬性名稱。
如XML配置bean
<bean id="sgtPeppers" class = "com.BalnkDisc" c:_title="${disc.title}" c:_artist="${disc.artist}" />
可以看到,title的值是從名稱為 disc.title的屬性中解析得到的。
如果依賴元件掃描和自動裝配來初始化應用元件的話,則可以使用@Value註解
public BlankDisc(
@Value("${disc.title}") String title,
@Value("${disc.artist}") String artist){
this.title=tile;
this.artist= artist;
}
為了使用佔位符,我們必須配置一個PropertyPlaceholderConfigurer或者PropertySourcesPlaceholderConfigurer 的bean,Spring3.1以後,推薦使用後者PropertySourcesPlaceholderConfigurer,因為它能夠基於Spring Environment及其屬性源來解析佔位符。如下:
@Bean
public static PropertySourcesPlaceholderConfigurer placeholderConfigurer(){
return new PropertySourcesPlaceholderConfigurer();
}
如果你想使用XML配置的話,Spring context名稱空間中的<context:property-placeholder >元素將會為你生成 PropertySourcesPlaceholderConfigurer bean。
在xml中增加如下配置
<context:property-placeholder />