zoukankan      html  css  js  c++  java
  • SpringBoot学习记录:@Cacheable不起作用 -->原因:Shiro + @Cache整合

    SpringBoot学习记录:@Cacheable不起作用 -->原因:Shrio + @Cache整合

    问题描述:

    1、在使用shiro的项目中,整合Cache,@Cacheable失效

    2、去掉ShiroConfig后,@Cacheable能够最长使用,其他注解也OK

    问题原因:

    @Cacheable ,当使用ehcache时,autoconfig机制会根据配置文件自动去初始化bean

    而shiroConfig在@Configuration构造时,也会去初始化ehcache ,项目启动会产生如下异常

    解决方法:

    realm原始代码(错误):

    public class UserRealm extends AuthorizingRealm {
        @Autowired
        private AdminService adminService;
        @Autowired
        private CadreService cadreService;
        @Autowired
        private ParticipantService participantService;
        @Autowired
        private VoteService voteService;
    
        protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {……}
    
        //认证
        @Override
        protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {……}
    }

    在realm的自动注入下加@Lazy注解,问题解决

    public class UserRealm extends AuthorizingRealm {
        @Autowired
    @Lazy
    private AdminService adminService; @Autowired
    @Lazy
    private CadreService caadreService; @Autowired
    @Lazy
    private ParticipantService participantService; @Autowired
    @Lazy
    private VoteService voteService; protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {……} //认证 @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {……} }
  • 相关阅读:
    [日料探店] 食一料理
    工地英语
    C++20协程解糖
    C++20协程解糖
    C++20协程解糖
    单表操作
    数据库查询语句罗列
    数据库简易介绍
    mysql的常用操作
    css基础
  • 原文地址:https://www.cnblogs.com/itcod/p/12555314.html
Copyright © 2011-2022 走看看