2

为什么需要自动装配?自动装配概念的解释是什么?

@autowiredSpring 框架中的注释。

4

2 回答 2

2

不需要自动装配,只是方便。

这意味着,如果您有一个需要一个的属性,InterfaceA并且在 Spring 中声明了一个类型为 的 bean InterfaceA,而不是使用 XML 手动“连接”关系(将 bean 引用设置为另一个的属性),您可以让Spring为你做接线。

于 2012-04-11T14:26:53.127 回答
2

这是初学者的常见问题。由于 bean 是使用DI 注入的(setter 注入、构造函数注入),为什么我们需要自动装配?自动布线也做同样的事情,对吧?

答案是,它使您免于编写更多代码。

  1. 如果使用 XML 文件,使用autowire属性可以避免在 bean 定义中编写接线代码。

    请看下面的代码。

    不带自动连线的配置代码:

     <bean id="employee" class="com.Employee">
         <property name="name" value="Dexter"></property>
     </bean>
    
     <bean id="employeeService" class="com.EmployeeService">
         <property name="employee" ref="employee"></property>
     </bean>
    

    自动接线的配置代码:

     <bean id="employee" class="com.Employee">
         <property name="name" value="Dexter"></property>
     </bean>
    
     <bean id="employeeService" class="com.EmployeeService" autowire="byName" />
    

    请注意,我们不必编写任何内容来引用 EmployeeService 的属性,即 Employee。但还是被注入了。 自动装配使容器可以搜索 bean 配置并在 bean 之间进行协作,而开发人员没有特别提及这些。

  2. 如果我们使用 annotation,甚至我们不必在 XML 文件中写任何东西,包括 thisautoware="byName"等。只需@Autowired在 bean 的 setter/field/constructor上就足够了。

于 2017-11-26T23:20:35.003 回答