org.springframework.beans.factory.NoSuchBeanDefinitionException:
No bean named 'sessionFactory' is defined
在 `applicationContext.xml` 中定義的 id 必須與注入處完全一致:
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
...
</bean>
@Autowired
@Qualifier("sessionFactory") // 若名稱一致可省略
private SessionFactory sessionFactory;
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.3.x</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.6.x</version>
</dependency>
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
CSDN 詳細解析:No bean named 'sessionFactory' is defined 解決方案
90% 的情況是 Bean 名稱不對、配置檔未載入、或版本衝突。建議從「啟動日誌」入手,逐步驗證每個 Bean 是否成功初始化。