Spring的两大核心:IOC和AOP

一、IOC的概念

  • IOC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入(在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件)。
  • 对象A依赖于对象B,当对象 A需要用到对象B的时候,IOC容器就会立即创建一个对象B送给对象A。IOC容器就是一个对象制造工厂,你需要什么,它会给你送去,你直接使用就行了,而再也不用去关心你所用的东西是如何制成的,也不用关心最后是怎么被销毁的,这一切全部由IOC容器包办。
  • IOC:控制反转,其实是一种思想,传统的Java se是通过new来创建一个对象,是程序主动创建依赖对象。IOC是指,利用反射的原理将创建对象的权利交给Spring容器,spring在运行的时候根据配置文件来动态的创建对象和维护对象之间的关系,实现了松耦合的思想-à实现方式:配置文件,注解
  • IOC的作用:消减计算机程序的耦合(只能解决程序间的依赖关系)

二、AOP的概念

1、Aop:面向切面编程

2经典应用:事务管理、性能监视、安全检查、缓存 、日志等【画图】1)       经典应用:事务管 理、性能监视、安全检查、缓存 、日志等【画图】

3Spring AOP使用纯Java实现,不需要专门的编译过程和类加载器,在运行期通过代理方式向目标类织入增强代码

▲ AOP的作用:在程序运行期间,不修改源码对已有方法进行增强

优势:

减少重复代码

提高开发效率

维护方便

4、Spring基于XML的Aop

IOC和AOP的概念相关推荐

  1. IOC和AOP概念理解

    IOC和AOP概念理解总结: IOC:控制反转 是一种降低对象之间耦合关系的设计思想,面试的时候最好能说出来个例子,加深理解.例子:租房子,以前租房子需要一个房子一个房子找,费时费力,然后现在加入一个 ...

  2. 谈谈Spring中的IOC和AOP概念 - 倪升武的博客 - CSDN博客

    转载于https://blog.csdn.net/eson_15/article/details/51090040 IOC和AOP是Spring中的两个核心的概念,下面谈谈对这两个概念的理解. 1. ...

  3. Java Spring的IoC和AOP的知识点速记

    Spring简介 Spring解决的最核心的问题就是把对象之间的依赖关系转为用配置文件来管理,这个是通过Spring的依赖注入机制实现的. Spring Bean装配 1. IOC的概念以及在Spri ...

  4. 自己动手实现的 Spring IOC 和 AOP - 上篇

    1. 背景 我在大四实习的时候开始接触 J2EE 方面的开发工作,也是在同时期接触并学习 Spring 框架,到现在也有快有两年的时间了.不过之前没有仿写过 Spring IOC 和 AOP,只是宏观 ...

  5. Spring 原理初探——IoC、AOP

    前言 众所周知, 现在的 Spring 框架已经成为构建企业级 Java 应用事实上的标准了,众多的企业项目都构建在 Spring 项目及其子项目之上,特别是 Java Web 项目. Spring ...

  6. Spring AOP(一) AOP基本概念

    Spring AOP 基本概念 术语 容易理解 举个栗子给大家讲一下代理: 什么是AOP? 基本术语 (1)切面(Aspect) (2) 目标对象(Target) (3) 连接点(JoinPoint) ...

  7. spring aop 必须的包 及里面用到的东西_Spring 原理初探——IoC、AOP

    前言 众所周知, 现在的 Spring 框架已经成为构建企业级 Java 应用事实上的标准了,众多的企业项目都构建在 Spring 项目及其子项目之上,特别是 Java Web 项目. Spring ...

  8. 我们到底为什么要用 IoC 和 AOP

    作为一名 Java 开发,对 Spring 框架是再熟悉不过的了.Spring 支持的控制反转(Inversion of Control,缩写为IoC)和面向切面编程(Aspect-oriented ...

  9. Spring中IOC和AOP的详细解释(转)

    原文链接:Spring中IOC和AOP的详细解释 我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂 ...

最新文章

  1. Java多线程复习:1(进程和线程、并发和并行)
  2. SSRS - 请求因 HTTP 状态 401 失败: Unauthorized。
  3. 尺取法——POJ3061
  4. Python正则表达式集锦
  5. bootcss echarts_数据可视化插件使用(Echarts)
  6. Redis数据库的管理
  7. AVC sequence header AAC sequence header
  8. 在线日志文件丢失的恢复(笔记)
  9. 爬虫_抓取京东手机图片
  10. sass08 if while for each
  11. 日常工具搬运——python逐行写入txt文件
  12. java分析内存泄露工具_AIL-Framework下载-java内存泄露分析工具(Information Analysis Leaks)-东坡下载...
  13. win10 休眠设置无效_windows10系统电脑点击睡眠没反应的解决方法
  14. linux下shell命令之hwclock
  15. 台式计算机怎么加一个硬盘,台式机添加硬盘方法
  16. app数据分析体系 - 用户粘性 DAU,MAU 和 月人均活跃天数
  17. 海明码检错与纠错,经典例子讲解~
  18. CMM与CMMI对比
  19. (八)空气质量指数计算7.0-----beautifulsoup4解析处理html、获取所有城市空气质量
  20. 04-积极的环境改变人(哈佛幸福课-全部英文)

热门文章

  1. 使用电脑连接远程服务器训练
  2. 项目管理工具+软件开发、云计算、数据分析和机器学习工具
  3. 最硬核的OCR开源课程来了!
  4. Nginx配置文件nginx.conf详解
  5. ORA-01849: hour must be between 1 and 12
  6. win10桌面任务栏透明
  7. Andriod自动化测试click事件报错:Injecting to another application requires INJECT_EVENTS permission解决
  8. FantaVerse(梵塔世界)获国际风险基金 Draper Dragon投资
  9. Android中需要知道的蓝牙相关常识
  10. P2522 [HAOI2011]Problem b (莫比乌斯反演)