对于Spring Security中的PasswordEncoder,它有多个实现类,通过@allargsconstructors注入时,spring是如何判断注入哪一个实现类的

对于Spring Security中的PasswordEncoder,它有多个实现类,通过@allargsconstructors注入时,spring是如何判断注入哪一个实现类的

单个实现类的时候简单,找到基本就结束了!
多个的时候,优先primary,然后是根据beanName为字段名的bean,后面还有个条件,再没有找到就抛异常

看看这篇文章,解释了spring bean初始化时如何选择构造器

springsecurity 中passencode 有默认的类,如果没有找到指定的,那就会使用默认的;