为什么需要自动装配...?任何人都可以向我解释自动装配的概念.... ??
Spring框架中的@autowired注释
答案 0 :(得分:0)
不需要自动装配,只是方便。
这意味着如果你有一个需要InterfaceA
的属性并且在Spring中声明了一个类型为InterfaceA
的单个bean,而不是使用XML手动“连接”关系(将bean引用设置为另一个的属性),你可以让Spring为你做接线。
答案 1 :(得分:0)
这是初学者的常见问题。由于使用DI注入豆类(二传手感染,构造注射),为什么我们需要自动接线?自动接线也做同样的事情吧?
答案是,它可以避免编写更多代码。
1-如果使用xml文件,它可以避免在那里写任何接线代码。使用bean的 autowire属性 ,我们可以实现所需的功能。
请查看下面的代码。
没有自动接线的配置代码:
<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-如果我们使用注释,即使我们不必在xml文件上写任何内容,包括 autoware =“byName” 等。 Simply bean的setter / field / constructor 上的@AutoWired就足够了。
但是,小心使用@AutoWired on field,因为它引入了Field Injection,这不是推荐的做事方式。