1. 程式人生 > >shiro realm依賴Service導致service不走事務的問題

shiro realm依賴Service導致service不走事務的問題

問題描述:專案中的shiro realm載入user和許可權時使用了SysUserService查詢資料庫,SysUserService在其他地方注入後新增user,當丟擲異常時新增的user沒有被回滾(所有事務配置正常,其他service也正常)

原因探究:shiro realm屬於dao層方法,按理應該與mapper互動,這裡和service互動本身就不對;我的理解是這個SysUserService被shiro通過AOP做了代理導致實際的事務代理沒有被注入.

結論:shiro realm和mapper互動,不要和service互動