如果要设置@Order,怎样确定一个spring bean应该设置@Order的顺序为几?

来源:2-12 走向自动装配总结

他门说这就是人生

2019-09-30

这个问题我觉得在spring security和spring boot的课程中都可以提:

众所周知,spring security是一堆过滤器链的组合,我在做一个《Spring Boot2.0深度实践之核心技术篇》里自动装配和jojo老师spring security课程的综合练习,把SSO客户端的配置类加到@EnableAutoConfiguration里(加到spring.factories,这样,只要有注解@EnableAutoConfiguration,就会自动加载我的SSO客户端的配置类,达到配置类复用的效果),出现一个报错,大意是WebSecurityConfigurer的@Order序号100重复了,但我设置了好几个数字,有的报没有权限访问,有的不断重定向到/login。老师,帮我估计一下原因吧!或者怎么确定@Order里应该填多少?

请老师帮助我一下,跨了两位老师的课程的练习,实在难找到高手求教!

ps.

偶然发现WebSecurityConfigurer的@Order就是100


写回答

2回答

小马哥

2020-02-08

自定义的 WebSecurityConfigurer 需要定义不重复的 Order,这个框架内部处理决定的,其中 @Order 的顺序只能通过源码的方式分析,假设第三方实现 WebSecurityConfigurer 接口,它的 Order,你也需要关注,这个是一种设计上的局限

0
0

他门说这就是人生

提问者

2020-02-08

好的,谢谢老师。

0
0

Spring Boot2.0深度实践 核心原理拆解+源码分析

系统化剖析Spring Boot 2.0,掌握技术原理,学习源码阅读技巧

2904 学习 · 213 问题

查看课程