如何使用XML配置将多个包传递到Spring中的packagesToScan属性

Ran*_*ddy 22 spring spring-orm

假设我在不同模块中有两个包com.test1com.test2,名为M 1(com.test1)和M2(com.test2).

现在,在以下示例中,我配置了module1包.

<bean id="entityManager" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">        
       <property name="packagesToScan" value="com.test1" />
       <property name="dataSource" ref="dataSource" />
       <property name="jpaVendorAdapter" ref="hibernateVendor" />
       <property name="jpaPropertyMap" ref="jpaPropertyMap" />
   </bean>
Run Code Online (Sandbox Code Playgroud)

但我想在packagesToScan属性中配置Module2包.如何配置.

Ran*_*ddy 35

我发现自己回答了问题.

<bean id="entityManager" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">        
     <property name="packagesToScan">
         <array>
              <value>com.test1</value>
              <value>com.test2</value>
         </array>
     </property>       
     <property name="dataSource" ref="dataSource" />
     <property name="jpaVendorAdapter" ref="hibernateVendor" />
     <property name="jpaPropertyMap" ref="jpaPropertyMap" />
</bean>
Run Code Online (Sandbox Code Playgroud)

  • packageToScan的javadoc说:`packagesToScan可以搜索一个或多个基本包,类似于Spring的常规Spring组件的组件扫描配置,这意味着逗号/分号/空格/制表符/换行分隔包也应该可以工作. (3认同)
  • 这似乎是正确的,@睡鼠.我用逗号分隔的包测试了它,它适用于我. (2认同)