为什么我在自己实现了UserDetailsService 接口以后,程序走的就是我的实现类,而不是默认的InMemoryUserDetailsManager
看看源码类关系。。。
springboot自动装配条件
org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration
重点是-》**@ConditionalOnMissingBean**
@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一个Bean)
@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)
@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)
@ConditionalOnMissingBean(仅仅在当前上下文中不存在某个对象时,才会实例化一个Bean)
@ConditionalOnMissingClass(某个class类路径上不存在的时候,才会实例化一个Bean)
@ConditionalOnNotWebApplication(不是web应用)