• 你就当我是浮夸吧
    2020-02-07
    🐴老师,构造器注入在自动模式下,是不是只有一种实现方式即xml?

    作者回复: Spring Framework 内建的实现仅在 XML 中体现,不过这是一个通用的功能,开发人员也可以通过 org.springframework.beans.factory.support.AbstractBeanDefinition#setAutowireMode 控制 Auto-wiring 的模式

    
    
  • Void_seT
    2020-02-07
    构造器自动注入的例子中,UserHolder有两个构造器,为什么没有选择无参构造器来创建实例,而是选择了带有User形参的构造器来创建实例?是因为在autowiring为constructor时,spring会选择尽量多的注入已注册的bean吗?即,如果UserHolder有第三个构造器,UserHolder(User user, Account account);如果同时在context中注册了user和account,此时创建的UserHolder会自动注入user和account,而不仅仅是注入了user。

    作者回复: 构造器参数不会选择默认构造器,否则没有入口让 Bean 注入。通常 Spring Framework 会尽可能地选择能够构造器参数注入的构造器。

    
    
  • Nousin
    2020-02-07
    小马哥你好,可以讲解下setter注入的原理吗,为什么注入顺序是不确定的,不是从上往下执行代码嘛?

    作者回复: 并不是,由于 Java 反射 API 所返回的 public 方法熟顺序并非定义顺序,所以无法控制先后情况。你可以自行尝试!

     1
    
我们在线,来聊聊吧