Autowired属性为null

Autowired属性为null,第1张

Autowired属性为null

依赖于a的bean的较早初始化

DataSource
绝对是问题所在。根本原因与Spring
Boot或自动配置无关,而是通过一个由包裹您的业务bean的方面来应用简单的老式鸡和蛋方法安全性
BeanPostProcessor
。一个bean只能发表一些初始化处理
非常
早。在这种情况下,进行
DataSource
注入还为时过早(实际上,实例化
@Configuration
需要的类
DataSource
为时过早,无法正确包装在
@Configuration
加工机械中,因此无法自动接线)。我的建议(只会使您与缺少相同之处
AuthenticationManager
)是将声明
GlobalMethodSecurityConfiguration
嵌套类,而不是将其声明为嵌套类。
DataSource

在以下位置需要:


@EnableGlobalMethodSecurity(prePostEnabled = true)@Configurationprotected static class ActualMethodSecurityConfiguration extends GlobalMethodSecurityConfiguration {    @Autowired    @Qualifier("aclDaoAuthenticationProvider")    private AuthenticationProvider aclDaoAuthenticationProvider;    @Autowired    @Qualifier("aclAnonymousAuthenticationProvider")    private AnonymousAuthenticationProvider aclAnonymousAuthenticationProvider;    @Autowired    @Qualifier("aclexpressionHandler")    private MethodSecurityexpressionHandler aclexpressionHandler;    @Override    protected void configure(AuthenticationManagerBuilder auth) throws Exception {        auth.authenticationProvider(aclDaoAuthenticationProvider);        auth.authenticationProvider(aclAnonymousAuthenticationProvider);    }    @Override    public MethodSecurityexpressionHandler createexpressionHandler() {        return aclexpressionHandler;    }

}

也就是说

RootMethodSecurityConfiguration
,将其粘贴到并
@EnableGlobalMethodSecurity
从该类中删除注释。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4938698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存