1、源码分析
略。
2、结论
- @ConditionalOnBean:如果List中的已经全部注入(AllMatched),则返回true,当前类会注入,反之如果有没注入的(AnyMiss),则返回false,即当前类不注入了。通俗点:大家全上我才上,有人不上我就不上。
- @ConditionalOnMissingBean:如果List中有已经注入的(AnyMatched),则返回false,即当前类不注入了;反之如果都没有注入(AllMiss),则返回true,当前类尝试注入。通俗点:大家都不上,我就上,有人上了我就不上了。
- @ConditionalOnClass:如果当前Classloader有Load不到的类(AnyMissing),则返回false,当前类不注入,反之如果全部能load到(AllLoad),则返回true,当前类注入。通俗点:大家全load到我才出马。
- @ConditionalOnMissingClass:如果当前Classloader有能Load到的类(AnyLoad),则返回false,当前类不注入,反之如果全Load不到(AllMissing),则返回true,当前类注入。通俗点:大家都没load我就出马。
@ConditionalOnBean:大爷,非要做最后一个。
@ConditionalOnMissingBean:很钢,就是单干。
@ConditionalOnClass:一样大爷,必须全员陪着。
@ConditionalOnMissingClass:一样钢,没人上自己才上。
本文完。
网友评论