2013-02-14 41 views
0

我一直在google上搜索大約一個小時,但收效甚微。春季動態列表屬性

假設在我web.xml我:

<Parameter name="hibernate.websitespecific.entityscanpackages" value="com.mystuff.pojo.entities, com.mystuff.otherpackage.pojo.entities"/> 

,並在我的Spring上下文配置我:

<bean id="sessionFactory" 
      class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="packagesToScan"> 
      <list> 
       <value>com.mystuff.somethingelse.pojo</value> 
       <value>com.mystuff.weirdbeans.domain</value> 
      </list> 
     </property> 
[...] 

我想補充hibernate.websitespecific.entityscanpackages到包掃描清單一個乾淨的方式。我怎麼做?

回答

1

可以使用SPEL引用bean定義文件的上下文參數:

例如:

<property name="foo" value="#{contextParameters.fooParamName}" /> 

編輯

要合併兩個軟件包列表:

​​

<property name="packagesToScan" value="#{contextParameters.paramName + ',' + T(org.springframework.util.StringUtils).collectionToCommaDelimitedString(@someList)}" /> 

    <util:list id="someList"> 
     <value>pk1</value> 
     <value>pk2</value> 
    ... 
    </util:list> 
+0

哦,你不說? – gotch4 2013-02-15 10:28:35

+0

爲什麼不呢?應該管用。你試過了嗎? – 2013-02-15 10:40:14

+0

啊!我知道,你不知道如何合併字符串。在spel或T上使用+運算符(StringUtils).collectionToCommaDelimitedString(@yourList) – 2013-02-15 11:44:06