Spring--自动装配
Posted Wayfo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring--自动装配相关的知识,希望对你有一定的参考价值。
XML 配置里的 Bean 自动装配
Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 <bean> 的 autowire 属性里指定自动装配的模式
- byType(根据类型自动装配): 若 IOC 容器中有多个与目标 Bean 类型一致的 Bean. 在这种情况下, Spring 将无法判定哪个 Bean 最合适该属性, 所以不能执行自动装配.
- byName(根据名称自动装配): 必须将目标 Bean的名称和setter属性名设置的完全相同.
- constructor(通过构造器自动装配): 当 Bean 中存在多个构造器时, 此种自动装配方式将会很复杂. 不推荐使用
IDEA 会有提示 :Navigate to the autowired dependencies
<bean id="address" class="yang.mybatis.test.Address" p:city="BeiJing" p:street="TianAnMen"></bean> <bean id="car" class="yang.mybatis.test.Car" p:name="奥迪89" p:brand="奥迪" p:price="300"></bean> <bean id="person" class="yang.mybatis.test.Person" p:name="xiaoming" autowire="byName"></bean>
package yang.mybatis.test; import java.util.List; import java.util.Map; /** * Created by yangshijing on 2017/11/29 0029. */ public class Person { private String name; private Address address; private Car car; public Person() { } public Person(Address address, Car car, String name) { this.address = address; this.car = car; this.name = name; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public Car getCar() { return car; } public void setCar1(Car car) { this.car = car; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Person{" + "address=" + address + ", name=‘" + name + ‘\‘‘ + ", car=" + car + ‘}‘; } }
以上是关于Spring--自动装配的主要内容,如果未能解决你的问题,请参考以下文章