1. DI:中文名称:依赖注入
  2. 英文名称((Dependency Injection)
  3. DI 是什么?

    3.1 DI 和IoC 是一样的,差不多一样的技术和模板!

    3.2 当一个类(A)中需要依赖另一个类(B)对象时,把 B 赋值给A 的过程就叫做依赖注入.

4.代码体现: (添加一个desk类,并且添加进People属性内)

  4.1 添加desk bean类 :

    private int id;
    private double price;

package com02.bean;

public class Desk {
private int id;
private double price; public void setId(int id) {
this.id = id;
} @Override
public String toString() {
return "Desk{" +
"id=" + id +
", price=" + price +
'}';
} public int getId() {
return id;
} public double getDesk() {
return price;
} public void setPrice(double price) {
this.price = price;
} public double getPrice() {
return price;
}
}

  4.2  在com02/test/applicationcontext.xml 中添加一个desk类,并且添加进People属性内

<!--
id表示获取到的对象的标识;class表示创建那个类的对象;
-->
<bean id="peo" class="com02.bean.People">
<property name="id" value="001"></property>
<property name="name" value="我叫零零一"></property>
<property name="lists">
<list>
<value>list01</value>
<value>list02</value>
<value>list03</value>
</list>
</property>
<property name="sets">
<set>
<value>set01</value>
<value>set02</value>
<value>set03</value>
</set>
</property> <property name="desk" ref="desk"></property>
</bean>
<bean id="desk" class="com02.bean.Desk">
<property name="id" value="1"></property>
<property name="price" value="12"></property>
</bean>

5 进行测试

//测试 DI
People people=ac.getBean("peo",People.class);
System.out.println(people);
//测试结果

People{
  id=1, name='我叫零零一',
  lists=[list01, list02, list03], sets=[set01, set02, set03], desk=Desk{id=1, price=12.0}
}

Spring4 -03 -Dependency Injection (依赖注入) : 代码体现/配置xml/测试的更多相关文章

  1. spring in action学习笔记一:DI(Dependency Injection)依赖注入之CI(Constructor Injection)构造器注入

    一:这里先说一下DI(Dependency Injection)依赖注入有种表现形式:一种是CI(Constructor Injection)构造方法注入,另一种是SI(Set Injection) ...

  2. asp.net core 系列之Dependency injection(依赖注入)

    这篇文章主要讲解asp.net core 依赖注入的一些内容. ASP.NET Core支持依赖注入.这是一种在类和其依赖之间实现控制反转的一种技术(IOC). 一.依赖注入概述 1.原始的代码 依赖 ...

  3. Benefits of Using the Spring Framework Dependency Injection 依赖注入 控制反转

    小结: 1. Dependency Injection is merely one concrete example of Inversion of Control. 依赖注入是仅仅是控制反转的一个具 ...

  4. 基于注解的DI(DI:Dependency Injection 依赖注入)

    注解方式xml里面就不需要注册bean了. 构建注解需要 1.导入spring-aop-4.2.1.RELEASE.jar 包  2.需要更换配置文件头,即添加相应的约束. 现在的Student类就要 ...

  5. Spring框架xml配置文件 复杂类型属性注入——数组 list map properties DI dependency injection 依赖注入——属性值的注入依赖于建立的对象(堆空间)

    Person类中的各种属性写法如下: package com.swift.person; import java.util.Arrays; import java.util.List; import ...

  6. MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息

    MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...

  7. 利用Lombok编写优雅的spring依赖注入代码,去掉繁人的@Autowired

    大家平时使用spring依赖注入,都是怎么写的? @Servicepublic class OrderService {@Autowiredprivate UserService userServic ...

  8. 理解ASP.NET Core - [03] Dependency Injection

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 依赖注入 什么是依赖注入 简单说,就是将对象的创建和销毁工作交给DI容器来进行,调用方只需要接 ...

  9. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【四】——实现模型工厂,依赖注入以及格式配置

    系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在上一篇中,我们已经初步开始使用Web Api了,但同时出现了一些很多不足之处,本章我们就着 ...

随机推荐

  1. 面试之哈希表leetcode

    1 案例1 leetcode-----242 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t ...

  2. Python: ImportRequestsError: No module named 'requests'解决方法

    运行Python程序时,出现下面错误: import requests  ModuleNotFoundError: No module named ‘requests’ 原因:没有导入requests ...

  3. 8、1 周末总结+Mongdb

    都说加一个Id 注解就行了,其实还要加一条数据测试表是否生成 这里我们探讨  数据库是谁,表是谁 数据库在mongo启动的时候就指定了,这个无需我们关心 表根据实体类自动生成, 1.pom.xml & ...

  4. hashMap常见问题

    [解析hashMap的源码实现]      点击进入hashMap的源码实现 0.谈谈对hashMap的理解? 从底层结构.存取.扩容.冲突.实现原理.源码等方面说明. 1.你知道哪些常用的Map集合 ...

  5. 关于close_wait状态的理解

    以web服务器产生大量的close_wait状态为例 1.close_wait状态介绍: 客户端主动关闭连接,服务器接收到客户端的FIN,但是还没有发送自己的FIN,此时的状态为close_wait状 ...

  6. 手写简化版SpringBoot

    Springboot项目全部依赖注解的,web工程是如何启动的 1 首先引入了Tomcat依赖,然后用java代码启动Tomcat容器,默认Tomcat版本是8.5版本 2 Tomcat是实现了ser ...

  7. Django REST Framework批量更新rest_framework_extensions

    Django REST framework 是一套基于Django框架编写RESTful风格API的组件. 其中mixins配合viewsets能极其方便简化对数据的增删改查, 但本身并没有对数据的批 ...

  8. Eclipse Block Selection(块选择)快捷键 Alt + Shift + A

    说实话,我暂时还没用过这个快捷键.但是不代表以后我也不会用它. Eclipse 有个地方可以专门查看这些小技巧. Help → Tip of the Day 进入下面这个窗口: 将 Unread on ...

  9. PAT(B) 1045 快速排序(C)

    题目链接:1045 快速排序 (25 point(s)) 参考博客:1045 快速排序 (25 point(s))繁星蓝雨 题目描述 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一 ...

  10. jQuery框架"风云榜"案例

    <title>电影风云榜</title> <style> /*清空默认样式*/ *{padding:0;margin:0;border:0;list-style:n ...