0

我有一个现有的弹簧应用程序说 App1(未使用弹簧注释)。目前,我正在将其中的一些 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">

这个声明有什么问题吗?(两个应用程序都是spring 3.2)还是必须在注释驱动的配置中使用p命名空间。?

4

1 回答 1

1

如果您没有忘记xmlns:p="http://www.springframework.org/schema/p"在 beans 元素中声明,则此声明没有任何问题

于 2013-07-09T05:31:58.513 回答