依赖注入,指的是组件之间的依赖关系由容器运行是决定。控制权由对象本身转向容器;由容器根据配置文件去创建实例,并创建各个实例之间的依赖关系。
IOC容器的核心是Spring提供的Bean工厂(BeanFactory)。
1、setter方法注入
使用<property>便签进行配置,为符合JavaBean规范的可写属性赋值,值的类型可以是基本数据类型,也可以是任意引用类型
例:
JavaBean:
public class UserBean(){
private String str;
public void setStr(String str){
this.str = str;
}
}
配置:
<bean id="userBean" class = "UserBean">
<property name= "str" value = "hello" ></property>
</bean>
2、构造方法注入
JavaBean:
public class ConTestBean{
private String str;
private UserBean userBean;
public ConTestBean(String str,UserBean userBean){
this.str = str;
this.userBean = userBean;
}
}
配置:
<bean id="" class = "">
<constructor-org index="0">
<value>hello</value>
</constructor-org>
<constructor-org index="1">
<ref bean="userBean"/>
</constructor-org>
</bean>
使用<constructor-org>便签进行配置,根据下标位置来为变量赋值,类型也可以是任意的。