一:Spring IoC设值注入:指通过setter方法传入被调用者的实例。这种注入方式简单、直观,因而在Spring的依赖注入里大量使用。
其xml配置文件:
applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id ="carBuyer" class = "com.dw.interf.impl.ICarBuyer">
<property name="car">
<!-- 将另外一个bean的引用注入给carBuyer bean -->
<ref bean="honda"/>
</property>
</bean>
<bean id = "honda" class = "com.dw.interf.impl.IHondaCar"/>
<bean id = "bm" class = "com.dw.interf.impl.IBmCar"/>
<bean id = "houseBuyer" class = "com.dw.interf.impl.IHouseBuyer"/>
</beans>
--------------------------------------------------------------------------------------------
二、Spring IoC构造注入:通过构造函数来完成依赖关系的设定,而不是通过setter方法。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id ="carBuyer" class = "com.dw.interf.impl.ICarBuyer">
<constructor-arg>
<ref bean="honda"/>
</constructor-arg>
</bean>
<bean id = "honda" class = "com.dw.interf.impl.IHondaCar"/>
<bean id = "bm" class = "com.dw.interf.impl.IBmCar"/>
<bean id = "houseBuyer" class = "com.dw.interf.impl.IHouseBuyer"/>
</beans>
实体类中需要定义相应的构造函数