前言

IoC 是 Spring 全家桶各个功能模块的基础,是创建对象的容器。AOP 也是以 IoC 为基础,AOP 是面向切面编程,抽象化的面向对象。

Spring IoC:

Spring IoC实现控制反转,将对象的创建进行反转。常规情况下,对象都是开发者手动创建的;而使用 IoC 后,开发者不再需要创建对象,而是由 IoC 容器根据需求自动创建项目所需要的对象。可理解为工厂。

实现的方式:
(1)基于XML方式:开发者把需要的对象在 XML 中进行配置,Spring框架读取这个配置文件,根据配置文件的内容来创建对象
(2)基于注解

1、配置类:用一个 Java 类来替代 XML 文件,把在 XML 中配置的内容放到配置类中。
2、扫包+注解:更简单的方式,不再需要依赖于 XML 或者配置类,而是直接将 bean 的创建交给目标类,在目标类添加注解来创建

具体的实现方式另查,个人觉得还是扫包+注解更加方便。

Spring AOP

AOP是面向切面编程,是一种抽象化的面向对象编程,对面向对象编程的一种补充,底层使用动态代理机制来实现。多用于:
1、打印日志
2、事务
3、权限处理

作用:AOP实现了高内聚、低耦合,在切面集中实现横切关注点(缓存、权限、日志等),然后通过切点配置把代码注入到合适的位置。

比如在所有的事务的开始和结束都要打印一次日志,就可以使用AOP技术将打印日志的行为抽出去进行统一处理。

什么是Spring IoC 和 AOP?相关推荐

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

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

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

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

  3. Spring IoC 和 AOP

    Spring IoC 和 AOP spring框架java开发的行业标准. spring全家桶. Web:Spring Web MVC/Spring MVC,Spring Web Flux 持久层:S ...

  4. 【Spring 源码阅读】Spring IoC、AOP 原理小总结

    Spring IoC.AOP 原理小总结 前言 版本约定 正文 Spring BeanFactory 容器初始化过程 IoC 的过程 bean 完整的创建流程如下 AOP 的过程 Annotation ...

  5. 浅谈 Spring IOC和AOP

    浅谈 Spring IOC和AOP IOC 控制反转 以前创建对象的主动权和时机是由于自己把握的,现在将这种权利转移到Spring容器中,并且根据配置文件去创建对象管理对象 ioc的注入方式有三种:构 ...

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

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

  7. Spring IOC 和 AOP 概览

    IOC(控制反转) IoC(Inversion of Control,控制倒转).所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系. 在没有IOC时,我们 ...

  8. spring - ioc和aop

    1.程序中为什么会用到spring的ioc和aop 2.什么是IOC,AOP,以及使用它们的好处,即详细回答了第一个问题 3.原理 关于1: a:我们平常使用对象的时候,一般都是直接使用关键字类new ...

  9. 再品Spring Ioc 和 Aop

    文章目录 Spring好处 IOC 基于XML和基于注解开发 基于XML开发 基于注解开发 配置类 扫包+注解 依赖注入 AOP 写在前面,这篇文章写的时候我的SSM已经学过一遍了,回头来看真的受益匪 ...

  10. 吊打面试官系列之--吃透Spring ioc 和 aop (中)

    目录 Spring SpringBean的五个作用域 SpringBean的生命周期 创建过程 销毁过程 AOP的介绍和使用 AOP的介绍 AOP的三种织入方式 操作讲解 AOP的主要名词概念 Adv ...

最新文章

  1. UITableView属性 自己定义UITableViewCell
  2. 【Java8精华教程】一起爪哇Java8——好用的Stream
  3. mitmdump 脚本使用python第三方包方法(报错:in script xxx.py: No module named ‘xxx‘)
  4. 1.7 Java字符流的使用:字符输入/输出流、字符文件和字符缓冲区的输入/输出流
  5. Eclipse中tomcat更改部署路径 deply path
  6. oracle内外链接混合用,混合在一起通过连接,内部连接和总结与Oracle
  7. 10.1-控制单元CU的组合逻辑设计
  8. 小程序沉浸式_古北水镇红叶祭嵌入戏精学院 全新文旅沉浸模式让游客嗨起来...
  9. Linux系统基本概念
  10. java8 stream().map().collect()用法
  11. 探讨IOS应用在中国的盈利模式
  12. vs快速添加引用解析的快捷键
  13. 看完这篇还不了解Nginx,你来找我!
  14. Atitit 知识管理之 经济学概论 attilax 学习心得
  15. Linux系统上QQ闪退的问题
  16. postman下载文件
  17. 用机器学习做风控的氪信,凭什么获金牌投资人章苏阳数千万融资?
  18. 把这本书讲给更多人(中):两次历史上著名的谋杀案?
  19. 半导体器件物理【4】晶胞晶格晶面晶向
  20. 一代神机 iPhone 6s 也终于到了“剧终之日”,下一个“钉子户机型”将会是谁

热门文章

  1. vscode之ssh方式连接linux失败
  2. 三星 android截屏快捷键,安卓手机怎么截图 各大品牌快捷键截屏大集合
  3. 天猫店铺转让低于市场价格能不能入手?倍赞网:符合正规条件即可入手
  4. 神思者 S.E.N.S.
  5. php怎么运行网页_「Dev」 - PHP运行环境
  6. linux如何查看端口是否开放?
  7. JAVA如何在线程中加锁(四种方法)
  8. 手把手教你如何在eclipse中安装svn插件
  9. Mybatis源码分析(一)Mybatis 基本使用
  10. Intellij idea不能进行编辑 以及 打开项目不见项目树