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简单总结相关推荐

  1. 关于AOP /IOC / DI

    面向切面编程(AOP是Aspect Oriented Program的首字母缩写) 我们知道,面向对象的特点是继承.多态和封装.而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配. ...

  2. Spring+IOC(DI)+AOP概念及优缺点

    Spring pring是一个轻量级的DI和AOP容器框架. 说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是,Spring是非侵入式的,基于spring开发的应 ...

  3. 手撸Spring系列4:IOC/DI 思想(实战篇)

    说在前头: 笔者本人为大三在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,发布的文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正. ...

  4. Spring的IOC/DI

    一.Spring框架模块结构 Spring Framework是由Spring团队研发的模块化.轻量级开源框架.其主要目的是为了简化项目开发. Test 对应spring-test.jar. Spri ...

  5. 工厂方法模式与IoC/DI

    工厂方法模式与IoC/DI IoC--Inversion of Control  控制反转  DI--Dependency Injection   依赖注入 1:如何理解IoC/DI         ...

  6. Spring AOP 简介以及简单用法

    Spring AOP 简介以及简单用法 如果你去面试java开发, 那么Spring的AOP和DI几乎是必问的问题. 那么AOP是什么呢? 一. AOP 所谓Aop就是 Aspect-Oriented ...

  7. 在X++中使用IoC/DI模式应对不断变化的客户需求

    IoC/DI(Inverse of Control/Dependency Injection,控制反转/依赖注入)模式是一种企业级架构模式,通过将应用程序控制权反转交移给框架,并以构造器注入.属性设置 ...

  8. 认识Spring核心容器IoC/DI

    对于 Java 编程来说,使用 Spring 能完成的更加快速,更容易并更安全.Spring 专注于速度,便捷与开发效率,也正是如此,让Spring成为了全世界最流行的 Java 框架.从配置到安全, ...

  9. AutoFac IoC DI 依赖注入

    AutoFac IoC DI 依赖注入 记录点点滴滴知识,为了更好的服务后来者! 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌 ...

最新文章

  1. 就是一个斜杠的事情!
  2. 【百度地图API】北京周边7日游——图标按路线轨迹行动
  3. 1116 c语言竞赛 (20 分)【难度: 一般 / 知识点: 模拟】
  4. tzwhere模块 根据经纬度判断时区
  5. 毕业五年的音视频开发工程师过得怎么样了?
  6. 构造activeMQ
  7. centos mysql单向同步,虚拟机下实现Centos5.6下Mysql双向同步配置
  8. 45个python入门案例_给Python小白看的10个使用案例,入门Python就在这里了
  9. 解决Maven项目pom文件中出现的错误:“Missing artifact oracle:ojdbc7:jar:12.1.0.2.0:compile“
  10. 宋宝华:当Linux内核遭遇鲨鱼—kernelshark
  11. 使用cntv(原cctvbox-中国网络电视台)下载视频
  12. 计算机笔记检讨,没做笔记检讨书
  13. 把自己曾经写的一个客户间聊天的程序与大家分享(2)
  14. hdu 1998 奇数阶魔方 规律
  15. 5.物体的多边形表示
  16. 如何查看电脑支持的最大内存是多少
  17. 世界读书日之所思所想
  18. iphone13哪个颜色好看
  19. vue路由——基础篇(二)
  20. 00007__点阵字体(位图)和TrueType字体

热门文章

  1. 用彩色不锈钢板装饰装潢的五个注意事项
  2. 小米5s的位置服务器,小米手机NFC在哪里?告诉你小米手机NFC位置(包括小米5/5s/6/MIX2/Note3)...
  3. WIN11 使用PB9闪退问题
  4. DB2常用命令 转
  5. 高端电视画质,专业游戏性能,三星Neo QLED这样俘获玩家
  6. dwg怎么转换成html,如何将dwg格式转换为dat格式.doc
  7. 爬虫如何爬取某领域下百家号作者列表
  8. CMake编译Mitsuba
  9. 科学计算机 次方用法,2020年中级经济师考试专用计算器使用技巧
  10. 引导页就该这样设计!细数那些精彩纷呈的引导页面