解决自定义Shiro.Realm扩展类不能用注解(@Resource或@Autowire)自动装配的问题
2016-03-10 13:08
453 查看
问题产生原因:加载Realm时其他Spring配置文件(xml)尚未加载,导致注入失败。
解决方法:编写一个设置类把注入工作提前完成。
解决方法:编写一个设置类把注入工作提前完成。
package com.xkt.shiro import org.apache.shiro.realm.Realm; import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.Configuration; /** * 把securityManager和userRealm装配到ApplicationContext */ @Configuration public class ShiroConfig implements ApplicationContextAware { @Override public void setApplicationContext(ApplicationContext ac) throws BeansException { Realm userRealm = (Realm) ac.getBean("userRealm"); DefaultWebSecurityManager defaultWebSecurityManager = (DefaultWebSecurityManager) ac.getBean("securityManager"); defaultWebSecurityManager.setRealm(userRealm); } }
相关文章推荐
- Extjs Test
- Object.hasOwnProperty
- Test
- 【codevs1912】汽车加油行驶问题 分层图最短路
- 淘宝大秒系统设计详解
- MyEclipse快速入门
- Nodejs 一个简单的后台实例
- getBean
- iOS项目工程中添加C文件,报错!
- ASP.NET 单点登陆
- 设计模式6大原则
- python基础学习笔记3
- Android中 GsonFormat插件解析Jason 数据+和风天气接口解析案例
- MIT自然语言处理第五讲:最大熵和对数线性模型
- iOS自定义cell,上下滚动tableView后,自定义cell会被打乱,甚至消失了
- 使用navicat建立与服务器的远程mysql连接
- [备份]这是Markdown编辑器的默认帮助文档
- python基础学习笔记2
- 特殊回文数
- IOS开发数据库篇—SQLite模糊查询