В каком пакете находится ваш HibernateConfig class
?
Этот
@Bean
public SessionFactory getSessionFactory(DataSource dataSource){
не выполняется.
Для подтверждения вы можете выполнить команду 'System. out.println ("XXX") 'вот так:
@Bean
public SessionFactory getSessionFactory(DataSource dataSource){
System.out.println("sessionFactory bean is getting created")
...
}
и проверьте, видите ли вы его в консоли при запуске приложения.
Чтобы убедиться, что он выбран вверх, самый простой способ - убедиться, что у вас есть @ComponentScan
в вашем root классе, найденном здесь com.huyvt.onlineshopping
.
@ComponentScan
без аргументов указывает Spring сканировать текущий пакет и все его подпакетов.
Если вы используете Spring Boot, он автоматически добавляется для вас, когда вы используете @SpringBootApplication
.
Кроме того, в вашем методе main
, вы можете проверить свои созданные beans так:
private static ApplicationContext applicationContext;
public static void main(String[] args) {
applicationContext =
new AnnotationConfigApplicationContext(SpringComponentScanApp.class);
for (String beanName : applicationContext.getBeanDefinitionNames()) {
System.out.println(beanName);
}
}