"Свойство 'sessionFactory' требуется" в Spring? - PullRequest
1 голос
/ 30 октября 2011

У меня проблема с sessionFactory в Spring.

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);

}

И My sessionFactoryBean, определенный в файле appContext.xml.

Ответы [ 2 ]

1 голос
/ 30 октября 2011

@Autowired работает после создания объекта, поэтому вы не можете использовать его результат в конструкторе.

Вы можете использовать этот подход для автоматической передачи SessionFactory в HibernateDaoSupport.

1 голос
/ 30 октября 2011

Вам нужна эта строка в вашем appContext.xml:

<context:annotation-config/>

Вот полный пример: http://blog.springsource.com/2007/05/14/annotation-driven-dependency-injection-in-spring-21/

...