我在Spring中遇到了sessionFactory的问题。
public abstract class GenericDao<T,PK extends Serializable>
extends HibernateDaoSupport
implements IGenericDao<T, Serializable> {
private Class<T> persistentClass;
public Class<T> getPersistentClass() {
return persistentClass;
}
public void setPersistentClass(Class<T> persistentClass) {
this.persistentClass = persistentClass;
}
@Repository
@Transactional
public class CategoryDao extends GenericDao<Category, Long> {
@Autowired
private SessionFactory sessionFactory;
public CategoryDao() {
setPersistentClass(Category.class);
setSessionFactory(sessionFactory);
}
我的sessionFactoryBean在appContext.xml文件中定义。
答案 0 :(得分:1)
您需要在appContext.xml中使用以下行:
<context:annotation-config/>
以下是一个完整的示例:http://blog.springsource.com/2007/05/14/annotation-driven-dependency-injection-in-spring-21/
答案 1 :(得分:1)
@Autowired
在构造对象后起作用,因此你不能在构造函数中使用它的结果。
您可以使用this approach将SessionFactory
自动装入HibernateDaoSupport
。