mam takiego beana:
@Bean
public LocalSessionFactoryBean localSessionFactoryBean(DataSource dataSource){
LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean();
sessionFactoryBean.setDataSource(dataSource);
sessionFactoryBean.setPackagesToScan("com.packt.webstore");
Properties properties = new Properties();
properties.setProperty("dialect"," org.hibernate.dialect.MySQLDialect");
sessionFactoryBean.setHibernateProperties(properties);
sessionFactoryBean.setHibernateProperties(null);
return sessionFactoryBean;
}
próbuję go wstrzyknąć do klasy oznaczoną adnotacją @Repository.
To nie działa ponieważ: Could not autowire. No beans of 'LocalSessionFactoryBean' type found. less... (Ctrl+F1)
Checks autowiring problems in a bean class.
@Repository
public class ProductRepositoryImpl implements ProductRepository {
@Autowired
private LocalSessionFactoryBean localSessionFactoryBean;
}
natomiast to już tak:
@Repository
public class ProductRepositoryImpl implements ProductRepository {
@Autowired
private SessionFactory sessionFactory;
}
czemu?
btw. LocalSessionFactoryBean impelmentuje interfejs SessionFactory. No ale dziwi mnie, że nie mogę wstrzknąć do samego LocalSessionFactoryBean