0

嗨,我是 Springs 框架的新手,我只想知道 Autowiring 在 Spring 框架中到底做了什么?

4

1 回答 1

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" />

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

于 2018-06-28T06:01:55.347 回答