`
sundful
  • 浏览: 1231401 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

对于spring security3中自定义securityMetadataSource时,无法注入要使用的dao问题解决方案

阅读更多
我今天在做spring security3的另一种配置方式,测试时,无法对自定义的securityMetadataSource进行注入想要使用的dao处理,后来调试发现注入进去时null,后来看到篇文章,说是对于注入进来的是获取不到的,利用构造可以解决,我试了一下,果然好用,发上来,希望对大家有帮助。

解决方案如下:

1、自定义的securityMetadataSource配置部分,使用构造加载

      <beans:bean id="mySecurityMetadataSource" class="app_security.MyInvocationSecurityMetadataSource">
             <beans:constructor-arg><beans:ref bean="resourceDao"/></beans:constructor-arg>
      </beans:bean>

     <beans:bean id="resourceDao" class="com.ipi.tyr.module.resourceModule.dao.impl.ResourceDaoImpl"></beans:bean>

2、在自定义的securityMetadataSource类,

private ResourceDao resourceDao;
public MyInvocationSecurityMetadataSource(ResourceDao resourceDao) {
  this.resourceDao = resourceDao;
  loadResourceDefine();
 }
 

 

分享到:
评论
2 楼 clplain 2013-11-03  
  问题同上啊 我用MyBatis 也是卡在这里!
1 楼 liwanfeng 2011-09-13  
resourceDao如果使用Hibernate怎么办啊?

Hibernate还没有加载,无法正确执行resourceDao对象。

相关推荐

Global site tag (gtag.js) - Google Analytics