当前位置:编程学习 > JAVA >>

entity manager 对象null值异常

我用spring+hibernate(jpa)+struts2,我在dao层有个公共的抽象基类public abstract class A implements B{@PersistenceContext protected EntityManager em; ……}子类:public class Y extends A implements X{……}里面find方法用到em对象,运行时总报空指针异常~!求教,谢谢~! --------------------编程问答-------------------- find方法运行时总报空指针异常,应该是spring配置出错导致的

检查一下applicationContext.xml文件里面的配置

检查applicationContext.xml里面的数据源,已经数据源是否注入了 --------------------编程问答-------------------- 这是我的spring配置文件,我看了一下没发现问题,帮忙瞅一下呗,谢谢~!
<?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:context="http://www.springframework.org/schema/context"
       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/context
           http://www.springframework.org/schema/context/spring-context-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">

<context:component-scan base-package="com.dream"/>
<!--使用数据源和指定persistence.xml位置的方式创建entityManagerFactory,如果使用的不是hibernate JPA实现,
需要在tomcat作一些特殊配置.具体参考手册-->
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${driverClassName}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
<property name="initialSize" value="${initialSize}"/>
<property name="maxActive" value="${maxActive}"/>
<property name="maxIdle" value="${maxIdle}"/>
<property name="minIdle" value="${minIdle}"/>
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<!-- 配置数据源 -->
<property name="dataSource" ref="dataSource" />
<!-- 配置JPA持久化文件 -->
<property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml" />
<!-- 运行时自助 -->
<property name="loadTimeWeaver">
   <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
</property>
    <!-- 持久化单元信息 value 要与persistence 中的unitName 要一致 -->
<property name="persistenceUnitName" value="dreamPersistUnit" />

<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<!-- 数据库方式是ORACLE 或SQL SERVER -->
<property name="database" value="MYSQL"/>
<property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect"/>
<!-- 是否显示sql 语句 -->
<property name="showSql" value="true"/>
<property name="generateDdl" value="true" />
</bean>
</property>
</bean>
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
<!--配置JPA事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
     <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<!-- 支持@Transaction 方式 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
<!-- PersisteContext 注册方式-->
<context:spring-configured />
<context:annotation-config />
</beans>
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,