Spring 2.5.6新特性之packagesToScan

若是你使用早前版本的Spring,又剛好採用了Annotation註解方式(而非傳統XML方式)配置Hibernate對象關係映射,那麼在經過org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean配置sessionFactory時,你必定對annotatedClasses、annotatedPackages有一種說不出的胸悶的感受,如此以高配置性見長的Spring,怎麼在這一個小小的環節上就不能作得再靈活些呢,必定要一個個手寫Class路徑麼?

估計有很多人無奈選擇了從AnnotationSessionFactoryBean繼承一個自定義的子類,本身實現掃描邏輯,找出@Entity註解過的類清單配置進去。

Spring 2.5.6裏有個不怎麼起眼的改進,那就是在AnnotationSessionFactoryBean上增長了一個新的方法:
setPackagesToScan(String[] packagesToScan)

有了這個方法,咱們再也不須要本身動手去實現實體類的掃描了,直接在Spring配置文件中AnnotationSessionFactoryBean這個section上增長相似以下的一個property便可(假定你須要加載的實體類所在的包名match這個字符串"com.**.bo"):
html

<property name="packagesToScan" value="com.**.bo"/>java


你也能夠以清單的方式指定多於1條的匹配字串,如:
spring

<property name="packagesToScan">
    <list>
        <value>com.abc.core.bo</value>
        <value>com.abc.auditing.bo</value>
    </list>
</property>api

相關文章
相關標籤/搜索