我有一个现有的Spring应用程序说App1(未使用spring注释)。目前我正在将其中的一些bean集成到另一个应用程序中,说App2使用spring注释进行配置。所以我不得不为新添加的bean使用'p'命名空间。但在那之后,集成的应用程序将无法工作。 这是我在App1中的bean声明:
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="persistenceXmlLocation" value="classpath*:META-INF/persistence.xml" />
<property name="persistenceUnitName" value="org.jbpm.runtime"></property>
这在App2中引起了同样的问题:
<bean id="vendor"
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:jpaVendorAdapter="vendor"
p:persistenceXmlLocation="classpath*:META-INF/persistence.xml"
p:persistenceUnitName="org.jbpm.runtime">
这个声明有什么问题吗?(两个应用都是春季3.2) 或者是否必须在注释驱动的配置中使用p命名空间。?
答案 0 :(得分:1)
如果您没有忘记在beans元素中声明xmlns:p="http://www.springframework.org/schema/p"
,那么此声明没有任何问题