我有一个泛型基础dao类,我在其中为所有daos实现了一些泛型方法.
最初,我使用依赖注入将sessionFactory注入每个dao,但后来我实现了一个基础dao,并且还有其他所有daos来扩展这个基础dao.
但是,在更改之后,每当我从其中一个daos调用getSessionFactory()时,我都会返回null.这个改变对我来说很有意义,但我似乎无法弄清楚为什么它会返回null,因为我已经在基础中注入了factorySession.
BaseDao
public class BaseDao {
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
...
}
userDAO的
public class UserDao extends BaseDao {
public User read(String userName) {
Session session = getSessionFactory().getCurrentSession();
session.beginTransaction();
...
}
...
}