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

相关文章
相关标签/搜索