shiro自定义realm无法使用注解

来源:互联网 发布:浙江网络作家协会官网 编辑:程序博客网 时间:2024/05/01 20:25

第一次写博客,格式可能会比较乱,希望能帮助各位遇到相同问题的小伙伴解决问题。

ssm整合shiro报错:

BeanCurrentlyInCreationException: Error creating bean with name 'shiroFilter': Requested bean is currently in creation: Is there an unresolvable circular reference?

第一次使用shiro的小伙伴可能会遇到同样的问题,这个问题困扰了我很久,百度谷歌查了不少资料,总结出了两个原因可能会导致无法注入

原因一:shiro的realm认证阶段还属于filter,此时的spring bean还未加载,所以无法注入

原因二:shiro的配置文件和spring配置文件冲突。

原因一解决方案

<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml,classpath:spring-mvc.xml,classpath:spring-shiro.xml</param-value></context-param>

<servlet><servlet-name>springDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 初始化,定位springmvc配置文件 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><!-- 1.指定容器启动时是否加载这个servlet 2.值等于或者大于0,容器启动加载 3.值小于0或者没有该标签,访问到该servlet再加载。 4.值越小,优先级越高 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springDispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>


注意标红色的地方,将spring-mvc配置放入contextConfigLocation中加载,在spring-shiro.xml之前加载

并且给spring-mvc指定加载优先级

原因二解决方案:

shiro配置文件中的

<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"

depends-on="lifecycleBeanPostProcessor"/>

和spring配置文件冲突,将这个bean注释即可,我遇到的是第二种,网上较少的文章讲到这点,特做此记录,希望能够帮助到你。


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被买单侠恐吓怎么办? 团伙作案刑事拘留怎么办取保 欢乐麻将老输怎么办 回不了家怎么办身份证 没注意闯红灯了怎么办 摩托车被套牌了怎么办? 发现员工偷钱怎么办 盗窃刑事拘留7天怎么办 盗窃抓不到人怎么办 发现宿舍被盗后怎么办(  ) 发现宿舍被盗后怎么办() 回收到赃物电瓶怎么办 不知情买了赃物怎么办 盗窃单位要报警怎么办 上网吸烟被逮住怎么办 有人在微信骂我怎么办 网吧抽烟被拍照怎么办 诈骗被拘留该怎么办 行政拘留人跑了怎么办 车牌号被偷了怎么办 当员工提出辞职怎么办 老员工提出辞职怎么办 家人进看守所了怎么办 被贷款中介诈骗怎么办 喝完酒吐难受怎么办 犯罪嫌疑人死在看守所怎么办 犯罪嫌疑人死不承认怎么办 高血压进了看守所怎么办 看守所里被欺负怎么办 老师上课迟到了怎么办 艾滋病看守所不收怎么办 没能力偿还债务怎么办 监狱病人的癌症怎么办 监狱的传染病人怎么办 犯人在监狱重病怎么办 亲戚被关拘留所怎么办 打麻将被拘留怎么办 轻伤检察院不批捕怎么办 吸毒人被拘留怎么办 法院拘留没去怎么办 羁押期限超过了怎么办