Я пытаюсь автоматически связать свой компонент sessionFactory с Spring, когда запускаю интеграционный тест. Поскольку я создаю новый экземпляр класса обслуживания в своем тесте, я считаю, что мне нужно выполнить отложенную инициализацию. На всю жизнь я понятия не имею, почему мой 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);
}
Тест.java
public void test() {
MyServiceImpl impl = (MyServiceImpl) Class.forName("foo.package.MyServiceImpl").newInstance();
HibernateTemplate template = impl.getHibernateTemplate();
}
Моя переменная «шаблон» в тесте всегда равна нулю.