У меня есть базовый базовый класс dao, в котором я реализовал некоторые общие методы для всех даос.Впрыск зависимостей Spring не работает с наследованием
<bean id="baseDAO" class="com.db.dao.BaseDao">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="userDAO" class="com.db.dao.UserDao"></bean>
<bean id="notesDAO" class="com.db.dao.NotesDao"></bean>
Первоначально я использовал инъекции зависимостей для впрыснуть sessionFactory
к каждому дао, но позже я реализовал базовый дао и имел все другое DAOS расширить эту базу дао.
Однако после изменения, когда я звоню getSessionFactory()
с одного из даос, я получаю null
в качестве возврата. Изменение имеет смысл для меня, но я не могу понять, почему он вернет null
, так как у меня есть factorySession
, введенный в базу.
BaseDao
public class BaseDao<T> {
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
...
}
UserDao
public class UserDao extends BaseDao<User> {
public User read(String userName) {
Session session = getSessionFactory().getCurrentSession();
session.beginTransaction();
...
}
...
}
Пожалуйста, разместите код. BaseDAO и «ребенок» DAO были бы хороши –
http://stackoverflow.com/questions/22599238/how-to-turn-on-springs-component-scan-debugging-info Это скажет вам, сканирует ли сканирование что вы думаете, что он должен собирать – efekctive