1

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

4

2 回答 2

1

您的 appContext.xml 中需要这一行:

<context:annotation-config/>

这是一个完整的例子:http: //blog.springsource.com/2007/05/14/annotation-driven-dependency-injection-in-spring-21/

于 2011-10-30T09:04:54.153 回答
1

@Autowired在构造对象后工作,因此您不能在构造函数中使用其结果。

您可以使用这种方法自动装配SessionFactoryHibernateDaoSupport.

于 2011-10-30T09:07:46.743 回答