依赖注入的三种实现方式
讲解需要的接口和类
public interface DataBase{
public List getData();
}
public class SqlServerDataBase implement DataBase {
public List getData(){
}
}
接口注入
少用,故不解释。
set注入
set注入就是在接受注入的类中定义一个set方法,并在参数中定义要注入的元素。
public class Business {
private DataBase db;
public void setDataBase(DataBase db){
this.db = db;
}
pulic void operateData{
List list = db.getData();
}
}
相关xml配置
<bean name="Business" class="com.jeysine.Business">
<property name="db" ref="dataBase"></property>
</bean>
<bean name="dataBase" class="com.jeysine.impl.SqlServerDataBase"></bean>
构造注入
定义一个构造方法,并在参数中订一起需要注入的元素
public class Business {
private DataBase db;
public Business(DataBase db){
this.db = db;
}
pulic void operateData{
List list = db.getData();
}
}
相关xml配置
<bean name="Business" class="com.jeysine.Business">
<constructor-arg ref="dataBase" index="0"></constructor-arg>
</bean>
<bean name="dataBase" class="com.bless.springdemo.dao.impl.SqlServerDataBase"></bean>