[英]Spring 5 + Hibernate 5 : How SessionFactory is getting Autowired with LocalSessionFactoryBean
[英]How Hibernate SessionFactory autowired using LocalSessionFactoryBean?
自动装配进行得很完美,并且一切正常。 但是我需要知道如何使用LocalSessionFactoryBean
在HibernateTransactionManager
注入会话工厂,尽管LocalSessionFactoryBean
类和SessionFactory
接口之间没有关系。
PFB我在项目中使用的代码
<beans:bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<beans:property name="sessionFactory"
ref="localSessionFactoryBean" />
</beans:bean>
<beans:bean id="localSessionFactoryBean"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="hibernateProperties">
<beans:props>
<beans:prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect
</beans:prop>
<beans:prop key="hibernate.show_sql">true</beans:prop>
</beans:props>
</beans:property>
</beans:bean>
在上面的代码中,我在HibernateTransactionManager
为sessionFactory
注入LocalSessionFactoryBean
。
请详细说明如何使用注释驱动的HibernateTransactionManager
的LocalSessionFactoryBean
初始化sessionFactory
。
LocalSessionFactoryBean
实现FactoryBean<SessionFactory>
。 因此,当Spring将sessionFactory
设置为HibernateTransactionManager
它将调用LocalSessionFactoryBean
getObject()
方法并获取SessionFactory
。
public class LocalSessionFactoryBean extends HibernateExceptionTranslator
implements FactoryBean<SessionFactory> {
public SessionFactory getObject() {
return this.sessionFactory;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.