EDIT: Мой вопрос не о том, почему Spring bean имеет значение null, но о том, почему унаследованный bean-значение null? Предлагаемый ответ объясняет, почему новый оператор не работает с автопостановкой. Но мой вопрос касается наследования. У меня есть два класса:java унаследовала весну автоволновое имущество null
@Transactional
public class A {
@Autowired
protected SessionFactory sessionFactory;
//other methods
}
public class B extends A {
Session session = sessionFactory.getCurrentSession();
//other methods
}
In Main.java я NPE - класс B не имеют доступа к собственности A (((И я не понимаю, почему (((
A inst1 = new B(); - dont have access to body of B.
B inst2 = new B(); - inside class B sessionFactory is null(((
?
Что я делаю неправильно, я должен иметь доступ к телу в, и к свойствам превосходящего класса Bean SessionFactory работает:.
ApplicationContext context = new ClassPathXmlApplicationContext("application-context.xml");
SessionFactory sessionfactory = (SessionFactory) context.getBean("sessionFactory");
Session session = sessionfactory.getCurrentSession();//works
Как свойство propertyA должно быть null, когда оно объявлено как примитив? Кажется странным! – Abubakkar
он должен работать нормально .. у вас есть некоторые другие ошибки, я думаю – stinepike
Поместите некоторый реальный код, чтобы мы могли проверить вашу проблему. – khelwood