依赖注入方式
1、setter注入
简单类型
- 首先看StudentImpl类:
这里我们新增了:
private int connectionNum;
private String databaseName;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.spi.InitialContextFactory;
import java.util.Hashtable;
public class StudentImpl implements Student {
private int connectionNum;
private String databaseName;
public void setConnectionNum(int connectionNum) {
this.connectionNum = connectionNum;
}
public void setDatabaseName(String databaseName) {
this.databaseName = databaseName;
}
@Override
public void SK() {
System.out.println("同学们该上课了"+connectionNum+databaseName);
}
}
- 我们在来看Person类
public class Person {
private StudentImpl stu;
public void eat(){
System.out.println("人需要吃饭恢复体力");
stu.SK();
}
//使用setter注入,配置的时候使用property
public void setStu(StudentImpl stu) {
this.stu = stu;
}
}
讲一下代码
首先,我们在StudentImpl类中新增了两个属性,然后在person类中我们调用了这个StudentImpl类生成的bean,并且调用的其中的方法。这可以概况为依赖注入。即:在一个类中调用了另一个类创建的对象,只是这个对象由spring进行创建和配置。
我们应该清楚,依赖注入就是通过配置的方式来说明两个对象之间的关系
当然,不止可以通过配置来完成,之后我们还会学习注解。
我们来看一下配置:
<bean id="student1" class="StudentImpl">
<property name="connectionNum" value="10086"/>
<property name="databaseName" value="mysql"/>
</bean>
<bean id="person" class=