Spring 如何从localcontainerEntityManagerFactoryBean注入实体管理器

Spring 如何从localcontainerEntityManagerFactoryBean注入实体管理器,spring,hibernate,jpa,entitymanager,Spring,Hibernate,Jpa,Entitymanager,在春季配置LocalContainerEntityManagerFactoryBean类时,我正在搜索实体管理器是如何注入DAO类的 class OrderDAOImpl { @PersistenceContext private EntityManager entityManager //....DAO Methods... } <bean id="entityManagerFactory" class="org.springframework.o

在春季配置LocalContainerEntityManagerFactoryBean类时,我正在搜索实体管理器是如何注入DAO类的

class OrderDAOImpl {

   @PersistenceContext
   private EntityManager entityManager

   //....DAO Methods...
}

<bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

.....
</bean>
class OrderDAOImpl{
@持久上下文
私有实体管理器实体管理器
//…道方法。。。
}
.....
通过这个bean,spring如何创建entityManager


我搜索hibernate的会话工厂也是出于同样的原因,我发现getObject方法将注入sessionFactory。但LocalContainerEntityManagerFactoryBean的情况并非如此。有人能帮我理解这个entityManager是如何注入JPA的吗?

Spring注入了一个代理,它将调用委托给
entityManager工厂
,以获得
entityManager
EntityManagerFactory
是由
LocalContainerEntityManagerFactoryBean
@M.Deinum构建的
LocalContainerEntityManagerFactoryBean
创建一个
EntityManagerFactory
来创建
EntityManager
的实例。