報錯是在當前線程沒有找到Session,導致無法使用session來對數據庫進行操作,經測試可能有以下原因引起:
1.配置文件中,關於事務的配置未將該類給包含進去(即該DAO所屬的包不在事務里)
知道了原因那么下面就好弄了,兩種解決方案:
1.在配置文件中將該類所屬的包加入到事務里
如上圖,expression里的所代表的就是事務所包含的package,你可以新增多個包掃描路徑,通過or連接
2.直接在報錯的DAO方法上加上@Transactional注解,這個看似比較簡單,但由於所屬的包都沒有添加事務,意味着這個包下所有DAO的方法都要加上這個注解,那就很繁瑣了