论坛首页 Java版 Spring

在spring2中配置JPA的问题 望哪位大侠解决 郁闷我好几天了

浏览 180 次
该帖已经被评为隐藏帖
作者 正文
最后更新时间:2008-03-07
在spring2中配置JPA的问题 望哪位大侠解决 郁闷我好几天了



错误代码如下
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'JpaTransactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'JpaTransactionManager' defined in class path resource [spring/applicationContext-test-jpa.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [spring/applicationContext-test-jpa.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Cannot parse persistence unit from class path resource [persistence.xml]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1172)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:940)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:437)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:219)
... 32 more

一直想做的Spring+Jpa的Demo,各位老大看看这个什么原因啊

我是在Myeclipse开发的,工程路径如下:
XXproject
      + src
      + test
      + resources
             ++spring
                   +++persistence.xml
                   +++applicationContext.xml
                   +++applicationContext-test-jpa.xml

applicationContext-test-jpa.xml

如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
           default-autowire="byName" default-lazy-init="true" >
        <description>所有Service/DAO的集中配置文件,可按模块划分文件</description>
        <!-- 主要用于JPA非JavaEE5 的生产环境(如Tomcat)与开发测试环境 -->
        <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
                <property name="persistenceXmlLocation" value="persistence.xml" />
                <property name="persistenceUnitName" value="basicServicePU" />
                <property name="dataSource" ref="dataSource" />
        </bean>       
        <bean id="JpaTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
                <property name="entityManagerFactory" ref="entityManagerFactory" />
        </bean>
        <!-- JTA环境的事务配置
                <bean id="myTxManager" class="org.springframework.transaction.jta.JtaTransactionManager or WebLogicJtaTransactionManager"/>
        -->
        <tx:annotation-driven transaction-manager="JpaTransactionManager" />
        <bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor" />
        <!-- User Module -->
        <bean id="userManager" class="org.jdonee.dao.UserJpaManager" />
        <bean id="userJpaDao" class="org.jdonee.dao.UserJpaDao"/>
</beans>
   
论坛首页 Java版 Spring

跳转论坛:
JavaEye推荐