对象类型的属性注入

---------------------siwuxie095

  

  

  

  

  

  

  

对象类型的属性注入

  

  

1、应用场景:在Service 类中得到 Dao 类的对象

  

  

  

  

2、具体步骤

  

(1)在 Service 中把 Dao 作为类型属性

  

(2)提供 Dao 类型属性的 set 方法

  

  

  

  

3、具体实现

  

1)编写一个Dao 类

  

Dao.java:

  

package com.siwuxie095.ioc;

  

public class Dao {

publicvoid add() {

System.out.println("----- Dao -----");

}

}

  

  

  

2)编写一个Service 类

  

Service.java:

  

package com.siwuxie095.ioc;

  

public class Service {

 

private Dao dao;

 

publicvoid setDao(Dao dao) {

this.dao = dao;

}

 

publicvoid add() {

System.out.println("----- Service -----");

dao.add();

}

 

}

  

  

  

3)在配置文件中注入属性

  

applicationContext.xml:

  

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="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">

 

 

<!-- 注入对象类型属性 -->

<beanid="daox"class="com.siwuxie095.ioc.Dao"></bean>

 

 

<beanid="service"class="com.siwuxie095.ioc.Service">

 

<!-- ref 属性即为要注入的对象 -->

<propertyname="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

publicvoid testIoc(){

 

// (1) 加载 Spring 的核心配置文件

ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

 

// (2) 得到核心配置文件中创建的对象(获取 Bean 实例)

Service service=(Service) context.getBean("service");

 

service.add();

}

}

  

  

  

  

  

  

  

  

  

【made by siwuxie095】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值