“Spring需要”属性'sessionFactory'吗?

时间:2011-10-30 08:58:07

标签: hibernate spring sessionfactory

我在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文件中定义。

2 个答案:

答案 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 approachSessionFactory自动装入HibernateDaoSupport