Spring的两大核心:IOC(Inversion of Control)和AOP(Aspect Oriented Programming)

一、IOC的概念

IOC 全称为 Inversion of Control,(inversion    英[ɪnˈvɜːʃn]美[ɪnˈvɜːrʒn]n.    倒置; 颠倒; 倒转)。

还有一个从创建角度来看的词:DI(Dependency Injection),即依赖注入(在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件)。

对象A依赖于对象B,当对象 A需要用到对象B的时候,IOC容器就会立即创建一个对象B送给对象A。IOC容器就是一个对象制造工厂,你需要什么,它会给你送去,你直接使用就行了,而再也不用去关心你所用的东西是如何制成的,也不用关心最后是怎么被销毁的,这一切全部由IOC容器包办。

IOC:控制反转,其实是一种思想,传统的Java se是通过new来创建一个对象,是程序主动创建依赖对象。IOC是指,利用反射的原理将创建对象的权利交给Spring容器,spring在运行的时候根据配置文件来动态的创建对象和维护对象之间的关系,实现了松耦合的思想实现方式:配置文件,注解。

二、AOP的概念(Aspect Oriented Programming)

1、Aop:面向切面编程

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

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

优势:

减少重复代码

提高开发效率

维护方便

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

4、Spring基于XML的Aop

ioc和aop全称是什么相关推荐

  1. Dubbo的SPI机制对比传统的SPI做了哪些改进?Dubbo的IOC和AOP

    文章目录 1. JAVA的SPI机制 2. Dubbo的SPI机制 3. Dubbo的SPI源码解析 3.1 获取接口对应的 ExtensionLoader 3.2 根据入参的http获取对应的htt ...

  2. 深入理解Spring两大特性:IoC和AOP

    Spring Boot 专栏:https://blog.csdn.net/dkbnull/category_9278145.html Spring Cloud 专栏:https://blog.csdn ...

  3. BeanPostProcessor —— 连接Spring IOC和AOP的桥梁

    之前都是从大Boss的视角,来介绍Spring,比如IOC.AOP. 今天换个视角,从一个小喽啰出发,来加深对Spring的理解. 这个小喽啰就是, BeanPostProcessor (下面简称 B ...

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

    1. 背景 本文承接上文,来继续说说 IOC 和 AOP 的仿写.在上文中,我实现了一个很简单的 IOC 和 AOP 容器.上文实现的 IOC 和 AOP 功能很单一,且 IOC 和 AOP 两个模块 ...

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

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

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

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

  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.net结合普通三层(实现IOC 及AOP中的异常记录功能)

    spring.net结合普通三层(实现IOC 及AOP中的异常记录功能) 参考文章: (1)spring.net结合普通三层(实现IOC 及AOP中的异常记录功能) (2)https://www.cn ...

最新文章

  1. Mysql悲观锁以及乐观锁案例说明
  2. CentOS下g++: command not found问题的解决
  3. 理性教育~值得借鉴~
  4. 将某个网站嵌入到iframe的测试
  5. 优化算法笔记|飞蛾扑火优化算法理解及实现
  6. oracle change schema,使用pt-online-schema-change修改主键时注意
  7. python百度ai文字识别、代码分析_python利用百度AI实现文字识别功能
  8. Snmp4j编程简介之二:PDU
  9. 【毕业设计】基于stm32的万能红外遥控器 - 单片机 嵌入式 物联网
  10. 计算机课flash课件,初识flash动画教学课件
  11. 思科路由器配置命令大全
  12. 案例实战|泰坦尼克号船员获救预测(数据预处理部分)
  13. 用什么工具可以免费下载720云VR全景图
  14. 欧美明星,明星照片,韩国明星,街拍照片
  15. 干货!最全的AI速查表|神经网络,机器学习,深度学习
  16. 一个应届毕业生的求职回忆录(指引道路)
  17. 从零开始的Node.js新闻爬虫实验项目(四)东方财富网、网易新闻、Pixiv的爬取思路
  18. 2013年1月CPU性能天梯图
  19. Word中的TIF图像保存后再打开就模糊了
  20. 搜狗输入法 exe 文件列表

热门文章

  1. 基于色彩恒常( color constancy)特性的Frankle-McCann Retinex图像增强。
  2. 经典网络结构 (八):轻量化网络 (SqueezeNet, MobileNet, ShuffleNet)
  3. Buct oj 1019
  4. DM MPP集群(带交叉守护进程)安装配置
  5. Hive分区修复命令MSCK介绍与使用
  6. 机器人RobotCali数据集解读
  7. python sci sci-hub 爬论文
  8. 使用word文件制作ftl模板文件总结(靠谱)
  9. WPS尾部空格没有下划线
  10. Mac 怎么修改开机背景详解!