小马哥 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 标准 内部结构 最小系统 小马 ...
最新文章
- 腾讯云宣布核心产品全线降价,最高降幅达50%
- PHP和OneNet平台交互
- Qt中使用线程的几种方式及区别
- 相对湿度计算软件_空调工程负荷详细计算方法(附有实例)
- ERP流程入门_从会计分录理解企业基本流程[转]
- 关于 C 的 arithmetic conversion (进行 算术运算 时的 强制转换规则)
- 【CSWS2014 Summer School】大数据下的游戏营销模式革新-邓大付
- mysql 本月第几周_Mysql 计算当前日期是本月第几周:一个自定义算法
- Qt编写自定义控件:卷轴式数字滚动
- 各类邮箱POP3和SMTP服务器地址和端口
- 郑强上任后,太原理工大学不断引援!
- Connection reset by peer 问题解析
- 未来IT人才市场最热门的12项技能
- IOS停机卡免流线路下载更新
- 网页中LRC歌词同步显示
- 1VB编程技术的简介
- python第三方插件登录网易音乐_项目实战 | Python开发网易云音乐插件
- The Devil Wears Prada-3
- ASII码中控制字符CR和LF的含义
- 16 Three.js使用dat.GUI简化试验流程