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. dubbo调用外网接口 注册外网ip到zookeeper 暴露外网ip

    dubbo注册时会通过主机名寻找ip,会将内网ip注册到zookeeper 如果我们调用外网服务器server的话是找不到的 会报如下错误 [DUBBO] client reconnect to 12 ...

  2. mysql查询之获取第n高薪水

    获取 Employee 表中第 n 高的薪水(Salary) +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 ...

  3. Zuul学习笔记

    问题: 解决:(域名映射+前缀+禁止原来访问)

  4. 12 Spring JdbcTemplate的使用

    1.项目搭建 <1>数据库表account对应的账户实体类 package domain; import java.io.Serializable; /** * 账户实体类 */ publ ...

  5. tcpdump网络调试

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  6. 16.Python略有小成(内置模块Ⅱ)

    Python(内置模块Ⅱ) 一.规范化开发 一个py文件中 文件加载问题 代码可读性,查询差 要将一个py文件分开,合理的分成多个py文件 配置文件放在一起 : 一些轻易不改变的变量,一般命名 set ...

  7. MVC与MTV模型

    MVC与MTV模型 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务 ...

  8. PB 计算公式算出结果赋值给另外一列

    在数据窗口中添加一个公式列 --在itmchanged事件中写的计算赋值代码 String ls_gs,ls_sqldecimal{2} ls_gsjg if dwo.name='gs1' then ...

  9. ubuntu 18.04安装RTX 2060 显卡驱动

    第一:安装ppa的显卡驱动源 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update 第二:检查显卡和推荐驱动 ubuntu- ...

  10. "超时时间已到。在操作完成之前超时"的解决思路

    错误往往是数据库操作超时引起 1.检查数据库访问连接字符串启用连接池,若是,适当增大超时时间 2.ADO sqlcommand相应调整超时时长 3.关键在于优化数据库操作,优化压缩执行时间