У меня есть подпружиненный компонент, который я настроил в applicationContext, как показано ниже:
<bean id="beanIRPlus" class="org.jadefalcon.demo.server.Spring.beans.BeanIRPlus" />
Затем у меня есть Hibernate Service, как показано ниже, который я пытаюсь внедрить в бин Spring. Обычно, например, если я использую bean-компонент-прототип, который внедряется в мой контроллер и у которого есть встроенная служба Hibernate, он работает нормально, однако для этого конкретного bean-компонента это синглтон, поэтому он создается при запуске приложения. Я удостоверился, что даже поместил объявление bean-компонента в самый конец файла applicationContext.xml
, чтобы выяснить, может быть, его нужно поместить после всего, что связано с Hibernate, но проблема все еще сохраняется. Это дает исключение нулевого указателя, что объект CasesService
не существует. Любой совет о том, что я делаю неправильно, очень ценится:
import javax.annotation.Resource;
import org.apache.log4j.Logger;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.jadefalcon.demo.domain.Cases;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service("casesservice")
@Transactional
public class CasesService {
protected static Logger logger = Logger.getLogger("service");
@Resource(name = "sessionFactory")
private SessionFactory sessionFactory;
public void add(Cases cases) {
logger.debug("Saving new search");
// Retrieve session from Hibernate
Session session = sessionFactory.getCurrentSession();
// Save
session.save(cases);
}
}