因为要使用事务,所以不注入dao层,经测试在myrealm注入service时加上@Resource、@Lazy并没注入,如:
@Resource
@Lazy
private UserService userService;
//=========
@Autowired
private UserService userService;
实际上是因为在ShiroConfig里配置SecurityManager时,没有使用@Qualifier注入Myrealm,而是直接new MyRealm();
加上即可解决,myRealm使用上面两种方法注入service应该都可以实现事务,还没有测试
配置shiro遇到的众多小坑之一,记录一下