【发布时间】:2014-04-30 08:02:15
【问题描述】:
当我开始集成测试时,我正在尝试使用 Spring 自动装配 sessionFactory bean。当我在测试中创建一个服务类的新实例时,我相信我需要惰性初始化。对于我的生活,我不知道为什么我的 sessionFactory 继续为空。请帮忙!
applicationContext.xml
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
lazy-init="true">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
MyServiceImpl.java
@Autowired
SessionFactory sessionFactory;
public HibernateTemplate getHibernateTemplate() {
return new HibernateTemplate(this.sessionFactory);
}
Test.java
public void test() {
MyServiceImpl impl = (MyServiceImpl) Class.forName("foo.package.MyServiceImpl").newInstance();
HibernateTemplate template = impl.getHibernateTemplate();
}
我在测试中的“模板”变量始终为空。
【问题讨论】:
标签: java spring autowired sessionfactory