Struts2 Spring JPA 整合时报错:No bean named 'entityManagerFactory' is defined ,请问各位是怎么解决
JPA过滤器组件OpenEntityManagerInViewFilter我也加了还是报这样的错误,请大侠给我解决下。。。...
JPA过滤器组件OpenEntityManagerInViewFilter我也加了还是报这样的错误,请大侠给我解决下。。。
展开
5个回答
展开全部
Struts2 Spring JPA 整合时报错:No bean named 'entityManagerFactory' is defined是因为没有带上包名整合后struts2中的action属性写上类名,步骤如下:
1、首先就是在web.xml中配置spring的监听器,代码如图所示,注意将代码放在文件的最上面,这是因为spring初始化容器要先执行即可。
2、接着就是进行添加struts2-spring-plugin这个jar包即可。
3、然后就是struts2与spring不整合相互之间也能工作,但是整合之后可以将struts2中的对象交给spring容器管理,否则struts2中的对象属性因为不在容器中而无法管理如下图所示。
4、最后一步就是进行整合前struts2中的action属性中的class变量必须写类的全路径,即带上包名整合后struts2中的action属性写上类名即可,如下图所示。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的Spring的配置文件中是不是有下面这段配置呢?
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<!-- 此种方式不推荐,对jpa的侵入性太强,除非数据库连接池也在spring中配置 <property name="dataSource"
ref="dataSource" /> -->
<property name="persistenceUnitName" value="Jweb" />
</bean>
<!-- 自动装载EntityManager -->
<context:annotation-config />
<!-- 配置事务管理器 -->
<bean id="entityManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
如果有的话,看下jar包是否缺少了。看下这个4个是不是有的
spring-orm-3.0.5.RELEASE.jar
spring-jdbc-3.0.5.RELEASE.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-entitymanager-3.6.0.Final.jar
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<!-- 此种方式不推荐,对jpa的侵入性太强,除非数据库连接池也在spring中配置 <property name="dataSource"
ref="dataSource" /> -->
<property name="persistenceUnitName" value="Jweb" />
</bean>
<!-- 自动装载EntityManager -->
<context:annotation-config />
<!-- 配置事务管理器 -->
<bean id="entityManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
如果有的话,看下jar包是否缺少了。看下这个4个是不是有的
spring-orm-3.0.5.RELEASE.jar
spring-jdbc-3.0.5.RELEASE.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-entitymanager-3.6.0.Final.jar
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的Spring的配置文件中是不是有下面这段配置呢?
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<!-- 此种方式不推荐,对jpa的侵入性太强,除非数据库连接池也在spring中配置 <property name="dataSource"
ref="dataSource" /> -->
<property name="persistenceUnitName" value="Jweb" />
</bean>
<!-- 自动装载EntityManager -->
<context:annotation-config />
<!-- 配置事务管理器 -->
<bean id="entityManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
如果有的话,看下jar包是否缺少了。看下这个4个是不是有的
spring-orm-3.0.5.RELEASE.jar
spring-jdbc-3.0.5.RELEASE.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-entitymanager-3.6.0.Final.jar
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<!-- 此种方式不推荐,对jpa的侵入性太强,除非数据库连接池也在spring中配置 <property name="dataSource"
ref="dataSource" /> -->
<property name="persistenceUnitName" value="Jweb" />
</bean>
<!-- 自动装载EntityManager -->
<context:annotation-config />
<!-- 配置事务管理器 -->
<bean id="entityManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
如果有的话,看下jar包是否缺少了。看下这个4个是不是有的
spring-orm-3.0.5.RELEASE.jar
spring-jdbc-3.0.5.RELEASE.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-entitymanager-3.6.0.Final.jar
更多追问追答
追问
嗯,确实 ,和你配的一模一样,我没有spring-orm-3.0.5.RELEASE.jar
请问这个包是必须的吗?能给我发一份整合所需的所有JAR包吗?邮箱:122600365@qq.com
非常谢谢。。
追答
spring 里面使用JPA的话 这个包好像是需要的。 我一直使用的是seam框架,spring没有怎么用过所以我这也没有整合好的工程
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看是不是拼写错了bean的名字,或者注入了没有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询