Spring_依赖注入(Dependency Injection)
使用Spring框架后,Spring将会对类间的依赖关系进行管理,而这就叫做依赖注入。
注意:经常变化的数据,并不适合使用依赖注入
一、依赖注入的三种方式:
1)使用构造函数
2)使用setter方法
3)使用注解(请参考spring_基于注解的IOC配置)
bean.xml文件代码
<?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="beanDao1" class="beanDaoClass1"></bean>
<!--使用构造函数-->
<bean id="beanService1" class="beanServiceClass1" >
<constructor-arg name="strs" value="test"></constructor-arg>
<constructor-arg name="integer" value="20"></constructor-arg>
<constructor-arg name="beanDao1" ref="beanDao1"></constructor-arg>
</bean>
<!--使用setter方法-->
<bean id="beanService2" class="beanServiceClass2">
<property name="strs" value="test"></property>
<property name="integer" value="20"></property>
<property name="beanDao1" ref="beanDao1"></property>
</bean>
</beans>
java文件代码
//------------------------beanDaoInterface start-----------------------------
public interface IBeanDao {
}
//------------------------beanDaoInterface end-------------------------------
//------------------------beanDaoClass1 start---------------------------------
public class beanDaoImpl implements IBeanDao {
public AccountDaoImpl() {
System.out.println("new beanDaoImpl();");
}
}
//------------------------beanDaoClass1 end-----------------------------------
//------------------------beanServiceClass1 start-----------------------------
//-------------------------------使用构造函数-----------------------------------
public class AccountServiceImpl implements IAccountService {
private String strs;
private Integer integer;
private IBeanDao beanDao1;
public AccountServiceImpl(String strs, Integer age,IBeanDao beanDao1) {
this.strs= strs;
this.integer= integer;
this.beanDao1 = beanDao1;
}
}
//------------------------beanServiceClass1 end------------------------------
//------------------------beanServiceClass2 start-----------------------------
//-----------------------------使用setter注入-----------------------------------
public class AccountServiceImpl2 implements IAccountService {
private String strs;
private Integer integer;
private IBeanDao beanDao1;
public String getStrs() {
return strs;
}
public void setStrs(String strs) {
this.strs= strs;
}
public Integer getInteger () {
return integer;
}
public void setInteger (Integer integer) {
this.integer= integer;
}
}
//------------------------beanServiceClass2 end-----------------------------
二、依赖注入的数据:
1)在配置文件中配置的bean类
2)基本类型和String
3)复杂类型/集合类型
本文深入讲解了Spring框架中的依赖注入概念及其三种实现方式:构造函数注入、setter方法注入和注解注入。通过实例代码展示了如何在bean.xml配置文件中定义bean类及基本类型和复杂类型的依赖关系。
835

被折叠的 条评论
为什么被折叠?



