对于spring security3中自定义securityMetadataSource时,无法注入要使用的dao有关问题解决方案
对于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(); }
1 楼
liwanfeng
2011-09-13
办法不错!但是ResourceDao如果使用Hibernate,需要怎么加载呢?
2 楼
zhujiabiao
2012-04-28
照着上面做了。 我的sessionFactory又无法或得到了。