01-spring-专题IOC
接口:
1,用于沟通的中介物的抽象化
2,实体把自己提供给外界的一种抽象化说明,用以内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式(内部可能修改了,但是接口不变)。
简单说就是:接口是对外的一种说明,说明自己提供了哪些功能,至于内部实现,对外部不公开。比如,我提供了注册功能,你只需要告诉我手机号,密码,就可以注册,
至于注册是怎么实现的,对外不公开。
3,对应Java接口即声明,声明了哪些方法是对外公开提供的。
面向接口编程
1,结构设计中,分清层次及调用关系,每层只向外(上层)提供一组功能接口,每层间仅依赖接口而非实现类。
2,接口实现的变动不影响各层间的调用,这一点在公共服务尤为重要。
3,面向接口编程中接口是用于隐藏具体实现和实现多态性的组件。
什么是IOC
IOC:控制反转,控制器的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护,自己拿来使用。
DI(依赖注入)是一种实现方式。
目的:创建对象并且组装对象之间关系。
扩展理解:
哪些方面的控制被反转了呢?
“获得依赖对象的过程被反转了”。控制被反转了之后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入。于是,控制反转取一个更合适的名字叫做:依赖注入。
这实际上是实现IOC的方法:注入。所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。
IOC房屋中介
房屋中介 --》 IOC
1)找中介 --》 1)找IOC容器
2)中介介绍房子 --》 2)容器返回对象
3)租房,入住。 --》 3)使用对象
01-spring-专题IOC的更多相关文章
- Spring 01: Spring配置 + IOC控制反转 + Setter注入
简介 Spring框架是一个容器,是整合其他框架的框架 他的核心是IOC(控制反转)和AOP(面向切面编程),由20多个模块构成,在很多领域都提供了优秀的问题解决方案 特点 轻量级:由20多个模块构成 ...
- Spring源码分析专题 —— IOC容器启动过程(上篇)
声明 1.建议先阅读<Spring源码分析专题 -- 阅读指引> 2.强烈建议阅读过程中要参照调用过程图,每篇都有其对应的调用过程图 3.写文不易,转载请标明出处 前言 关于 IOC 容器 ...
- Spring专题2: DI,IOC 控制反转和依赖注入
合集目录 Spring专题2: DI,IOC 控制反转和依赖注入 https://docs.spring.io/spring/docs/2.5.x/reference/aop.html https:/ ...
- Spring 深入——IoC 容器 01
IoC容器的实现学习--01 目录 IoC容器的实现学习--01 简介 IoC 容器系列的设计与实现:BeanFactory 和 ApplicationContext BeanFactory load ...
- 01.Spring Ioc 容器
基本概念 Spring 的 Ioc 容器,通常也称应用上下文.它包含了两个概念 Ioc 和 容器: 容器:顾名思义就是用来装东西的,在 Spring 中容器里盛放的就是各种各样的 Bean.既然装了东 ...
- Spring的IOC和AOP之深剖
今天,既然讲到了Spring 的IOC和AOP,我们就必须要知道 Spring主要是两件事: 1.开发Bean:2.配置Bean.对于Spring框架来说,它要做的,就是根据配置文件来创建bean实例 ...
- spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包
下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the ...
- spring的IOC/DI功能实践
一.写在前面: 做这个Demo主要是为了能够更好的理解Spring的原理,看再多的文章,听再多的讲解最终都最好自己去实现一遍,可以将Spring的功能分块实现,最终自然比较容易将各个功能组合起来. 这 ...
- Spring之IOC(控制反转)与AOP(面向切面编程)
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合.当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象.可以认为IoC与JND ...
- Spring的IoC容器(转)BeanFactory
Spring的IoC容器 Spring读书笔记-----Spring的Bean之Bean的基本概念 加菲猫 Just have a little faith. Spring的IoC容器 (用户持久化类 ...
随机推荐
- oracle return code 2112
SQL-02112 SELECT..INTO returns too many rows Cause: A SELECT...INTO statement returned more rows tha ...
- 【BZOJ 3530】【SDOI 2014】数数
http://www.lydsy.com/JudgeOnline/problem.php?id=3530 上午gty的测试题,爆0了qwq 类似文本生成器那道题,把AC自动机的转移建出来,准确地说建出 ...
- 【BFS/DFS/YY】派对灯
[luogu1468]派对灯 题目描述 在IOI98的节日宴会上,我们有N(10<=N<=100)盏彩色灯,他们分别从1到N被标上号码. 这些灯都连接到四个按钮: 按钮1:当按下此按钮,将 ...
- 【数论】【中国剩余定理】【LCM】hdu1788 Chinese remainder theorem again
根据题目容易得到N%Mi=Mi-a. 那么可得N%Mi+a=Mi. 两侧同时对Mi取余,可得(N+a)%Mi=0. 将N+a看成一个变量,就可以把原问题转化成求Mi的LCM,最后减去a即可. #inc ...
- 最小生成树之Prim算法--蓝白点思想
Prim算法: 以前一直不是很明白,Prim算法,今天就来终结一下. Prim算法采用与Dijkstra.Bellman-Ford算法一样的“蓝白点”思想:白点代表已经进入最小生成树的点,蓝点代表未进 ...
- CDOJ 1281 暴兵的卿学姐 构造题
暴兵的卿学姐 题目连接: http://acm.uestc.edu.cn/#/problem/show/1281 Description 沈宝宝又和卿学姐开始玩SC2了! 自从沈宝宝学会新的阵型后,就 ...
- mysql select 1
看数据库连接池源码,发现连接池的参数validationQuery(SQL查询,用来验证从连接池取出的连接)设置的值为"SELECT 1",之前很少用这种写法,于是 google一 ...
- 【UEditor】关于导入ueditor-1.1.3.jar的问题---
最近做一个项目,使用了百度的富文本框,本来是很简便易用的东西,在回显给富文本框的时候, var ue = UE.getEditor('container'); var noticeContent = ...
- VisualStudio 发布代码的一个坑
现象:为了测试把时间改为2016-1-1,测试完成后改为实际时间.以后每次发布代码,生成的dll还是2016-1-1,而非发布时间 导致问题:生成的dll和实际代码不匹配,原因不明 解决过程: 1.修 ...
- SQL Server 更新 触发器
- 复制代码 代码如下: create trigger TR_MasterTable_Update on MasterTable after update as if update ([Type])- ...