2012-04-11 31 views

回答

0

自动装配

@Autowired注解不是必需的,只是方便。

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

+0

@benny:谢谢 – jayjay 2012-04-12 11:32:46

0

这是初学者常见的问题。由于豆类是使用DI注射(注射器感染,构造注射),为什么我们需要自动接线?自动布线也做同样的事情,对吧?

答案是,它可以帮助您避免编写更多代码。

1-如果使用xml文件,它可以避免您在那里写入任何接线代码。使用自动装配属性的一个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即员工的财产。但它仍然被注入。 自动装配使得容器可以搜索bean配置,并在bean之间进行协作,而开发者特别提到这些。

2 - 如果我们使用注解,甚至我们没有写上的XML文件,包括该autoware =“绰号”只需豆的setter /场@Autowired /构造什么足够了。

但是,请小心使用@AutoWired字段,因为它引入了Field注入,这不是推荐的做事方式。

相关问题