天天看點

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  />

繼續閱讀