DUBBO出错笔记(三)shiro 自定义realm注入失败解决办法
来源:互联网 发布:vp影业 知乎 编辑:程序博客网 时间:2024/05/18 02:12
shiro 自定义realm注入失败解决办法
在与dubbo结合的项目中,在controller层会无论是使用dubbo的@refrence注解注入还是在xml中定义dubbo的service然后使用@autoware注入都是可以成功注入,但是在自定义realm中两种方式都无法注入,由于dubbo的注入原理没有弄明白,所以一开始解决这个办法就是自己配置bean然后使用spring的autoware注解注入,然而在debug过程中会发现对应的service也是null, WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
ISysUserService sysUserService = (ISysUserService) wac.getBean("sysUserService");
所以就想使用以上代码测试一下是否有这个bean,果然发现报错,没有name为sysUserService的bean,最后终于找出原因,原因大致如下:
在一个典型的Spring MVC项目中有两个“容器”:一个是由ContextLoaderListener创建的,另一个是由DispatchServlet创建的。Web应用程序可以定义任意数量的DispatcherServlet。每个servlet将在其自己的命名空间中操作,使用映射,处理程序等加载其自己的应用程序上下文。只有由ContextLoaderListener加载的根应用程序上下文(如果有)将被共享。因此可以具有任何数量的子容器。
这句话的意思就是ContextLoaderListener创建的是父级,dispatchServlet创建的是子级,只有父级的上下文可以被共享,而父级中是无法获取子级的上下文,而我的出错原因我个人猜测是由于shiro是定义在父级中的,而bean都定义在子级中了,导致注入不了,最后把配置文件调整好就可以注入了但是还无法使用dubbo的注解注入(原因还在探索中,先留下笔记)
附上参考链接:
http://stackoverflow.com/questions/3652090/difference-between-applicationcontext-xml-and-spring-servlet-xml-in-spring-frame
http://stackoverflow.com/questions/18578143/about-multiple-containers-in-spring-framework/18580299#18580299
- DUBBO出错笔记(三)shiro 自定义realm注入失败解决办法
- Shiro Realm @Autowired 注入失败的问题
- shiro笔记3《自定义Realm》
- 【shiro】shiro学习笔记2-自定义realm
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- (六)shiro自定义realm
- shiro入门实战笔记(10)--自定义Realm
- java安全框架-Shiro学习笔记(七)-自定义realm
- Shiro 学习笔记(3)—— 自定义 Realm
- SSM+shiro 在realm中出现注解注入service失败
- Apache shiro 笔记整理之自定义Realm
- shiro自定义Realm
- Shiro入门-自定义realm
- Shiro自定义Realm
- shiro自定义Realm实现
- Shiro 自定义realm认证
- 【shiro】--- 自定义realm
- css伪元素用法大全
- JavaBean入门
- Maven内置隐式变量
- 多人开发 Git 分支管理详解
- C primer plus(编程练习)file-9.11-3
- DUBBO出错笔记(三)shiro 自定义realm注入失败解决办法
- pkcs11简述
- centos 防火墙一些简单的命令与使用
- 并查集经典题目
- 如何运行github上的代码-以caffe-reid为例
- Java 日期转字符串
- RN开源UI组件之react-native-button 使用详解
- [零基础学JAVA]Java SE面向对象部分-17.面向对象高级(05)
- java事务概述