@Autowired entityManagerFactory为空
我的应用无法自动装配entityManagerFactory。
我的 :
<tx:annotation-driven/><context:component-scan base-package="top.level.package" />
<bean id="persistenceUnitManager"
class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
<property name="persistenceXmlLocation">
<value>classpath:jpa-persistence.xml</value>
</property>
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitManager" ref="persistenceUnitManager" />
</bean>
<bean id="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
我的 :
@Componentpublic class Engine {
@Autowired
@Qualifier("entityManagerFactory")
private EntityManagerFactory entityManagerFactory;
......
}
为什么entityManagerFactory为空?
回答:
为了让spring使用注释进行自动扭曲,您必须告诉spring。在您的xml配置中(假设您还没有context:component-
scanelement)添加一个context:annotation-
config。这将指示Spring应用程序上下文来扫描注解(如@Autowired
,@Inject
,@Resource
等)做自动装配。
还要确保要EntityManagerFactory
注入的Engine
类(该类)是spring托管的bean。Spring只会将引用注入到Spring托管的bean中。
以上是 @Autowired entityManagerFactory为空 的全部内容, 来源链接: utcz.com/qa/407946.html