Autowiring究竟在Spring框架中做了什么?

时间:2013-07-02 06:44:37

标签: spring java-ee

您好我是Spring Framework的新手我只是想知道Autowiring在Spring框架中做了什么?

1 个答案:

答案 0 :(得分:0)

考虑一个不首先自动装配的Spring bean示例。

例如考虑一个类的客户

class Customer {
       private Person person;

       public Customer(Person person) {
        this.person = person;
       }

    public void setPerson(Person person) {
        this.person = person;
       }
 }

和班级人

class Person {

}

在spring bean配置文件中,条目将是

<bean id="customer" class="...Customer>
   <property name="person" ref="person" />
</bean>

<bean id="person" class="...Person" />

使用spring bean自动装配,可以避免以四种不同方式在bean中写入属性标签。

  1. 按名称自动接线

在这种情况下,Customer类中的属性名称必须与您要自动装配的bean的ID相匹配,即“ person”

因此,可以将Customer bean的条目重写为

<bean id="customer" class="...Customer" autoWire="byName" />

类似地,弹簧中还有其他自动接线方式,通过类型,构造函数,自动检测自动接线。您可以引用链接http://www.mkyong.com/spring/spring-auto-wiring-beans-in-xml/