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. 为什么选择.NETCore

     为什么选择.NETCore? 学习新的开发框架是一项巨大的投资.您需要学习如何在新框架中编写,构建,测试,部署和维护应用程序.作为开发人员,有许多框架可供选择,很难知道什么是最适合的.即使您正在使用 ...

  2. vue-cli3 中console.log报错

    Module Warning (from ./node_modules/eslint-loader/index.js):error: Unexpected console statement (no- ...

  3. Python 内置函数--super()

    描述 super() 函数是用于调用父类(超类)的一个方法. super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO).重复 ...

  4. 微设计基础架构(MDI)

    微设计基础架构(MDI) 了解微设计基础架构(MDI)的概念,它们如何帮助开发,以及它们与DevOps和微服务等技术的关系. 技术决策既困难又严肃,可以决定项目的成败.如何找到合适的技术栈?“微设计基 ...

  5. python实践项目十:zipfile模块-将一个文件夹备份到一个 ZIP 文件

    描述:将指定路径下的某文件夹备份到一个zip文件 代码: #!/usr/bin/python # -*- coding: UTF-8 -*- # backupToZip - Copies an ent ...

  6. LeetCode 151. 翻转字符串里的单词(Reverse Words in a String)

    151. 翻转字符串里的单词 151. Reverse Words in a String

  7. Java开发笔记(一百三十二)Swing的表格

    前面介绍了程序界面上一些简单控件的组合排列,它们用来表达相互之间联系较弱的信息倒还凑合,要是用来表达关联性较强的聚合信息就力不从心了.倘若只是简单信息的罗列,例如商品名称列表.新闻标题列表.学生姓名列 ...

  8. CF13C Sequence(DP+离散化)

    题目描述 给定一个序列,每次操作可以把某个数+1-1.要求把序列变成非降数列.求最少的修改次数. 输入输出样例 输入 #1 - 输出 #1 4 输入 #2 输出 #2 1 解题思路 这题是一道非常好题 ...

  9. 1.Rabbitmq学习记录《本质介绍,协议AMQP分析》

    1.RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现. RabbitMQ的优势-: 除了Qpid,RabbitMQ是唯一一个实现了AMQP ...

  10. python_二叉树简单实现

    今日头条面试题,先做下: 二叉树代码实现 class Node: def __init__(self,item): self.item = item self.child1 = None self.c ...