小马哥 IOC学习笔记
对IOC的理解
IOC说起来,其实是一种编程思想或原则。相对于传统的编程方式(如从前文到后文这样串行顺序的方式),比如用传统方式,当我依赖一个对象,我要去创建它,对它进行属性配置,然后我才能使用这个对象。
但是对于IOC这种方式来说,它使对象或者组件的创建更为透明,不需要过多的关注细节(如创建对象、给对象设置属性,这些ioc容器都给我们设置好了),以达到解耦的目的。控制反转,简单来理解其实就是把获取依赖动象的方式,交给IOC容器来实现,由主动拉取,变为被动获取。
IOC的主要实现策略
(1)服务定位模式(service locator pattern)
这种模式是Java EE里面所定义的一种模式,通常通过JNDI这种技术获取Java EE的组件,比如说获取EJB组件或者DataSource
(2)依赖注入
依赖注入的几种方式:构造器注入(Constructor Injection)、参数注入(Parameter Injection)、Setter注入(Setter Injection)、接口注入(Interface Injection)
(3)依赖查询
这是有另一种技术来实现的,比如说Java里面有Java Beans技术,Java Beans里面有一个通用的上下文叫做BeanContext,既可以传输bean,也可以管理bean的层次性
(4)模板方法的设计模式
这种设计模式在Spring里面大量的会用的,比如说Spring JDBC会用到JDBC template这样的实现
(5)策略模式
小马哥 IOC学习笔记相关推荐
- 【Spring】Spring IOC学习笔记
Spring IOC Spring简介 Spring理念 使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架 Spring优点 Spring是一个轻量级的 控制反转(IOC) 和 面向切 ...
- Spring 之 IoC 学习笔记
1.为了代码的灵活性,我们一般采用面向接口编程,使用接口定义变量. 2.使用XXXServer 对XXX进行统一的操作,XXXServer 调用 XXX 的 XXXDAOImpl方法进行数据 ...
- 《小马哥讲Spring核心编程思想》-第一章学习笔记(1)
<小马哥讲Spring核心编程思想>-第一章学习笔记(1) 一.课程介绍 1.为什么要学习spring? 2.深入学习spring的难点有哪些? 3.课程的设计思路是怎样的? 二.内容综述 ...
- Spring源码学习笔记:Spring设计模式对比和Spring的OOB,BOP,AOP,IOC,DI/DL
1.博客内容均出自于咕泡学院架构师第三期 2.架构师系列内容:架构师学习笔记(持续更新) 1.GOF 23总设计模式归纳 分类 设计模式 创建型 工厂方法模式(Factory Method).抽象工厂 ...
- JavaEE——Spring学习笔记01【Ioc开发的模式】
JavaEE--Spring学习笔记01[Ioc开发的模式] JavaEE--Spring学习笔记02[Spring和Mybatis的整合] JavaEE--Spring学习笔记03[AOP开发] J ...
- atomic原子类实现机制_JUC学习笔记--Atomic原子类
Atomic 原子操作类包 Atomic包 主要是在多线程环境下,无锁的进行原子操作.核心操作是基于UnSafe类实现的CAS方法 CAS CAS: compareAndSwap :传入两个值:期望值 ...
- ASP.NET Core 2 学习笔记(四)依赖注入
原文:ASP.NET Core 2 学习笔记(四)依赖注入 ASP.NET Core使用了大量的依赖注入(Dependency Injection, DI),把控制反转(Inversion Of Co ...
- Android开发六年收获阿里offer定级P7,多亏在阿里P8师兄给的攻略、面试技巧以及学习笔记!!!
前言 又到了每年的毕业季,应届毕业生在找工作过程对于简历设计和面试技巧有一定的欠缺,这对于求职是比较重要的两个因素,因此掌握一定的面试技巧对于找互联网技术岗位的工作帮助非常大.本篇文章给大家分享一波职 ...
- [学习笔记]stm32
文章目录 一些问题 学习笔记 stm32F1 stm32F4 简介 Cortex内核 Cortex-M4内核 库开发与寄存器开发的关系 STM32 固件库与 CMSIS 标准 内部结构 最小系统 小马 ...
最新文章
- 本人在学习PHP过程中的随笔心得
- PHP数据结构之——链表
- php解决高并发问题
- simple k means
- 练习4.4、4.5、4.6、4.7
- Android平台上使用属性系统(property system)
- Python:使用matplotlib进行绘图时中文变成乱码的解决
- 全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<监听器篇>
- CephOpenstack结合说明操作
- 利用密码字典暴力破解渗透目标系统
- 高等代数——大学高等代数课程创新教材(丘维声)——1.3笔记+习题
- 各种带有物理学特点的把妹法[转]
- 泛泛而谈的菜鸟学习记录(六)—— 贴花
- 删除K个数字,使剩下的数字串最大(最大数字)
- 美国L1签证申请的常见问题解析
- 克隆vmware虚拟机
- “熵”详细学习笔记——什么是熵?有什么性质?联合熵等其他熵的作用
- linux操作系统为SCSI硬盘分区,Linux中硬盘分区的表示方法
- openCV【实践系列】5——使用OpenCV进行Delaunay三角剖分
- 【高项】风险管理(ITTO)