`
awaitdeng
  • 浏览: 213789 次
  • 性别: 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();
 }
分享到:
评论
4 楼 mly799280326 2015-02-02  
不错,问题解决,谢谢
3 楼 leo_cao 2014-04-18  
同问呀,没有一个好的解决办法吗??
2 楼 zhujiabiao 2012-04-28  
照着上面做了。 我的sessionFactory又无法或得到了。
1 楼 liwanfeng 2011-09-13  
办法不错!但是ResourceDao如果使用Hibernate,需要怎么加载呢?

相关推荐

Global site tag (gtag.js) - Google Analytics