Spring4 -03 -Dependency Injection (依赖注入) : 代码体现/配置xml/测试
- DI:中文名称:依赖注入
- 英文名称((Dependency Injection)
- 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/测试的更多相关文章
- spring in action学习笔记一:DI(Dependency Injection)依赖注入之CI(Constructor Injection)构造器注入
一:这里先说一下DI(Dependency Injection)依赖注入有种表现形式:一种是CI(Constructor Injection)构造方法注入,另一种是SI(Set Injection) ...
- asp.net core 系列之Dependency injection(依赖注入)
这篇文章主要讲解asp.net core 依赖注入的一些内容. ASP.NET Core支持依赖注入.这是一种在类和其依赖之间实现控制反转的一种技术(IOC). 一.依赖注入概述 1.原始的代码 依赖 ...
- Benefits of Using the Spring Framework Dependency Injection 依赖注入 控制反转
小结: 1. Dependency Injection is merely one concrete example of Inversion of Control. 依赖注入是仅仅是控制反转的一个具 ...
- 基于注解的DI(DI:Dependency Injection 依赖注入)
注解方式xml里面就不需要注册bean了. 构建注解需要 1.导入spring-aop-4.2.1.RELEASE.jar 包 2.需要更换配置文件头,即添加相应的约束. 现在的Student类就要 ...
- Spring框架xml配置文件 复杂类型属性注入——数组 list map properties DI dependency injection 依赖注入——属性值的注入依赖于建立的对象(堆空间)
Person类中的各种属性写法如下: package com.swift.person; import java.util.Arrays; import java.util.List; import ...
- MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息
MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...
- 利用Lombok编写优雅的spring依赖注入代码,去掉繁人的@Autowired
大家平时使用spring依赖注入,都是怎么写的? @Servicepublic class OrderService {@Autowiredprivate UserService userServic ...
- 理解ASP.NET Core - [03] Dependency Injection
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 依赖注入 什么是依赖注入 简单说,就是将对象的创建和销毁工作交给DI容器来进行,调用方只需要接 ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【四】——实现模型工厂,依赖注入以及格式配置
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在上一篇中,我们已经初步开始使用Web Api了,但同时出现了一些很多不足之处,本章我们就着 ...
随机推荐
- vs2019 中文离线安装包下载
1. 通过在https://visualstudio.microsoft.com/zh-hans/downloads/ 下载VS2019, 之后会下载vs_enterprise__78682482.1 ...
- 【原创】C++11:左值和右值(深度分析)
——原创,引用请附带博客地址 2019-12-06 23:42:18 这篇文章分析的还是不行,先暂时放在这以后再更新. 本篇比较长,需要耐心阅读 以一个实际问题开始分析 class Sub{} Sub ...
- odoo 上下文
order = self.env[model].browse(id)if order: order.with_context(write_type='voucher_generation').writ ...
- TP5 模型CURD
ThinkPHP5的模型是一种对象-关系映射(Object / Relation Mapping ,简称 ORM)的封装,并且提供了简洁的ActiveRecord实现.一般来说,每个数据表会和一个“模 ...
- Python2.7+virtualenv+CUDA 10.0版的pytorch v1.3.0 +运行人群计数crowdcount-mcnn网络
Python2.7$ python2 -m virtualenv pytorchenv$ source pytorchenv/bin/activate $ pip install ipython py ...
- Python规范:用用assert
什么是assert assert的语法: assert_stmt ::= "assert" expression ["," expression] 例: ass ...
- canal+kafka订阅Mysql binlog将数据异构到elasticsearch(或其他存储方式)
canal本质就是"冒充"从库,通过订阅mysql bin-log来获取数据库的更改信息. mysql配置(my.cnf) mysql需要配置my.cnf开启bin-log日志并且 ...
- centos7简单部署rancher
rancher官网文档地址 https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/ 准备机器 两台虚拟机 192.168.56.100 192 ...
- T100-----调试程序,快速定位到错误行
1.r.d 作业编码 2.ctrl+d3.输入 watch g_errparam.code if g_errparam.code='错误编码', 点几次OK, 再直接run程序,会自动跳 ...
- CI中如何配置BootStrap