Java 从EntityManager引发的NullPointerException
我的Java 从EntityManager引发的NullPointerException,java,spring,jpa,nullpointerexception,entitymanager,Java,Spring,Jpa,Nullpointerexception,Entitymanager,我的EntityManager有问题,它抛出NullPointerException。 代码如下: PersonServiceJpa.java 应用程序上下文 \WEB-INF\database.properties 非常感谢 NullPointerException正在发生,因为PersonServiceJPA类中未注入entityManager对象 在applicationContext.xml中,您正在创建personServicebean。在创建PersonService bean时
EntityManager
有问题,它抛出NullPointerException
。
代码如下:
PersonServiceJpa.java
应用程序上下文
\WEB-INF\database.properties
非常感谢 NullPointerException正在发生,因为PersonServiceJPA类中未注入entityManager对象 在applicationContext.xml中,您正在创建personServicebean。在创建PersonService bean时,需要注入entityManager类 您的代码:
<bean id="personService"
class="com.smartpump.service.jpa.PersonServiceJpa"></bean>
<bean id="personService"
class="com.smartpump.service.jpa.PersonServiceJpa">
<property name="entityManager" ref="entityManagerFactory"/>
</bean>
修改代码:
<bean id="personService"
class="com.smartpump.service.jpa.PersonServiceJpa"></bean>
<bean id="personService"
class="com.smartpump.service.jpa.PersonServiceJpa">
<property name="entityManager" ref="entityManagerFactory"/>
</bean>
我认为您必须设置:
<context:annotation-config/>
在applicationContext.xml中,或者定义一个特殊的Springbean(也在applicationContext.xml中):
请告诉我这是否有帮助
尝试在EntityManager本身上使用@PersistenceContext
@PersistenceContext
Private EntityManager entityManager;
我不是说它对setter方法有效,恐怕这不是正确的答案。请注意EntityManager上的“@PersistenceContext”。OP知道它必须被注入,但他想以不同的方式进行注入,但它不起作用:)我尝试了这个方法,但我遇到了另一个错误:“访问/rest/myresource/todos时出现问题。原因:服务不可用”我应用了这个方法,但不起作用。我的NPE也是这么说的你能把你的一些上传到github或bitbucket吗?我添加了github的链接,但没有人回答是的,人们也有生活在so之外:)今天晚些时候我会尝试研究它。
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
@PersistenceContext
Private EntityManager entityManager;