一、概念
依赖注入:Dependency injection ,DI 。和控制反转的含义相同,从两个角度描述同一个概念。使用依赖注入可更轻松的管理和测试应用程序。
当需要某个Java实例时,传统做法是调用者使用new方法、工程方法创建新实例。
而使用Spring框架后,实例不再由调用者创建,而是由Spring容器创建,这称为控制反转。
Spring容器创建被调用实例时,会自动将调用者需要的对象实例注入给调用者,调用者通过Spring容器获得实例,这称为依赖注入。
二、注入方式
public class Rder {@Getter@Setterprivate Qaer qa;@Getter@Setterprivate String worker;public Rder(){}public Rder(Qaer qa){this.qa = qa;}public void preOnline(){this.qa.doWork();this.doWork();}public void doWork(){System.out.println("RD code up online,"+this.worker);}}
public class Qaer {@Getter@Setterprivate String worker;public Qaer(){}public void doWork(){System.out.println("QA is testing "+ this.worker);}}
1、构造函数的依赖注入
2、基于setter方法的注入,属性必须有Setter方法。
java
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="rder1" class="springdemo.iocdemo.Rder">
<constructor-arg ref ="qaer1"/>
<property name="worker" ref="worker"></property>
</bean>
<bean id="qaer1" class="springdemo.iocdemo.Qaer">
<property name="worker" ref="worker"></property>
</bean>
<bean id="worker" class="java.lang.String" >
<constructor-arg type="String" value="content inner"/>
</bean>
</beans>
###
### 三、注入集合
集合主要是指:list、map、set
```java
```
