---------------------siwuxie095
对象类型的属性注入
1、应用场景:在 Service 类中得到 Dao 类的对象
2、具体步骤
(1)在 Service 中把 Dao 作为类型属性
(2)提供 Dao 类型属性的 set 方法
3、具体实现
(1)编写一个 Dao 类
Dao.java:
package com.siwuxie095.ioc;
public class Dao { public void add() { System.out.println("----- Dao -----"); } } |
(2)编写一个 Service 类
Service.java:
package com.siwuxie095.ioc;
public class Service {
private Dao dao;
public void setDao(Dao dao) { this.dao = dao; }
public void add() { System.out.println("----- Service -----"); dao.add(); }
} |
(3)在配置文件中注入属性
applicationContext.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="daox" class="com.siwuxie095.ioc.Dao"></bean>
<bean id="service" class="com.siwuxie095.ioc.Service">
<!-- ref 属性即为要注入的对象 --> <property name="dao" ref="daox"></property>
</bean>
</beans> |
(4)编写一个测试类
TestIoc.java:
package com.siwuxie095.ioc;
import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestIoc {
/** * 手动加上 @Test 以进行单元测试(将自动导入 JUnit 4 的 jar 包) * * 选中方法名,右键->Run As->JUint Test */ @Test public void testIoc(){
// (1) 加载 Spring 的核心配置文件 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
// (2) 得到核心配置文件中创建的对象(获取 Bean 实例) Service service=(Service) context.getBean("service");
service.add(); } } |
【made by siwuxie095】