AOP、IOC、DI简单总结
1、AOP:面向切面编程
2、IOC:控制反转
3、DI:依赖注入
- 1、AOP:
- 主要是模块化编程的思想,降低程序之间的耦合度。
- 在项目中,日志记录是必不可少的,但是,只是简单的将记录日志的代码块复制到各个模块当中,项目冗余和耦合度就会增大,如果使用面向切面编程,就可以将业务代码和业务相关性较低的代码分离开来,便于维护。
- 首先面向切面编程会有切点(Pointcut)、通知(Advice),通知分为以下五大类:
- 1)前置通知 :函数执行前增强
- 2)后置通知 :函数执行后增强,除非异常,最后执行
- 3)环绕通知 :函数执行的前后都增强
- 4)异常通知 :出现异常的时候执行
- 5)最终通知:不管出不出现异常,都会执行,类似于异常捕获的finally
- 主要是模块化编程的思想,降低程序之间的耦合度。
- 2、IOC / DI:
- IOC和DI其实可以说是一个概念
- IOC不是一种技术,主要是一种设计思想。在项目中,传统创建方法是new一个对象,但这样会使得对象间的耦合度增加。
- Spring将所有的对象都登机在Spring容器中,并且在系统运行适当的时候通过DI注入到对象当中。
- 控制反转就是将对象的注册从对象中创建 反转为 Spring统一注册。
AOP、IOC、DI简单总结相关推荐
- 关于AOP /IOC / DI
面向切面编程(AOP是Aspect Oriented Program的首字母缩写) 我们知道,面向对象的特点是继承.多态和封装.而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配. ...
- Spring+IOC(DI)+AOP概念及优缺点
Spring pring是一个轻量级的DI和AOP容器框架. 说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是,Spring是非侵入式的,基于spring开发的应 ...
- 手撸Spring系列4:IOC/DI 思想(实战篇)
说在前头: 笔者本人为大三在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,发布的文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正. ...
- Spring的IOC/DI
一.Spring框架模块结构 Spring Framework是由Spring团队研发的模块化.轻量级开源框架.其主要目的是为了简化项目开发. Test 对应spring-test.jar. Spri ...
- 工厂方法模式与IoC/DI
工厂方法模式与IoC/DI IoC--Inversion of Control 控制反转 DI--Dependency Injection 依赖注入 1:如何理解IoC/DI ...
- Spring AOP 简介以及简单用法
Spring AOP 简介以及简单用法 如果你去面试java开发, 那么Spring的AOP和DI几乎是必问的问题. 那么AOP是什么呢? 一. AOP 所谓Aop就是 Aspect-Oriented ...
- 在X++中使用IoC/DI模式应对不断变化的客户需求
IoC/DI(Inverse of Control/Dependency Injection,控制反转/依赖注入)模式是一种企业级架构模式,通过将应用程序控制权反转交移给框架,并以构造器注入.属性设置 ...
- 认识Spring核心容器IoC/DI
对于 Java 编程来说,使用 Spring 能完成的更加快速,更容易并更安全.Spring 专注于速度,便捷与开发效率,也正是如此,让Spring成为了全世界最流行的 Java 框架.从配置到安全, ...
- AutoFac IoC DI 依赖注入
AutoFac IoC DI 依赖注入 记录点点滴滴知识,为了更好的服务后来者! 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌 ...
最新文章
- 就是一个斜杠的事情!
- 【百度地图API】北京周边7日游——图标按路线轨迹行动
- 1116 c语言竞赛 (20 分)【难度: 一般 / 知识点: 模拟】
- tzwhere模块 根据经纬度判断时区
- 毕业五年的音视频开发工程师过得怎么样了?
- 构造activeMQ
- centos mysql单向同步,虚拟机下实现Centos5.6下Mysql双向同步配置
- 45个python入门案例_给Python小白看的10个使用案例,入门Python就在这里了
- 解决Maven项目pom文件中出现的错误:“Missing artifact oracle:ojdbc7:jar:12.1.0.2.0:compile“
- 宋宝华:当Linux内核遭遇鲨鱼—kernelshark
- 使用cntv(原cctvbox-中国网络电视台)下载视频
- 计算机笔记检讨,没做笔记检讨书
- 把自己曾经写的一个客户间聊天的程序与大家分享(2)
- hdu 1998 奇数阶魔方 规律
- 5.物体的多边形表示
- 如何查看电脑支持的最大内存是多少
- 世界读书日之所思所想
- iphone13哪个颜色好看
- vue路由——基础篇(二)
- 00007__点阵字体(位图)和TrueType字体
热门文章
- 用彩色不锈钢板装饰装潢的五个注意事项
- 小米5s的位置服务器,小米手机NFC在哪里?告诉你小米手机NFC位置(包括小米5/5s/6/MIX2/Note3)...
- WIN11 使用PB9闪退问题
- DB2常用命令 转
- 高端电视画质,专业游戏性能,三星Neo QLED这样俘获玩家
- dwg怎么转换成html,如何将dwg格式转换为dat格式.doc
- 爬虫如何爬取某领域下百家号作者列表
- CMake编译Mitsuba
- 科学计算机 次方用法,2020年中级经济师考试专用计算器使用技巧
- 引导页就该这样设计!细数那些精彩纷呈的引导页面