写在前面:kissing_heart:
大一电子信息工程新生,请多多关照,希望能在 InfoQ 社区 记录 自己的学习历程!
【Spring 学习笔记】系列教程基于 Spring 5.2.10.RELEASE 讲解。
一、AOP 简介
前面说过, Spring 的核心思想就是 IoC 和 AOP ,有关 IoC 的内容已经介绍过一部分了,接下来就来讲下 Spring 另一大重点: AOP 。
1、什么是 AOP
AOP ,“ Aspect Oriented Programming ”,译为“ 面向切面编程 ”,和 OOP(面向对象编程)类似, 它也是一种编程思想 。
2、AOP 的作用(特点)
代理模式
Spring AOP 的实现原理是 代理模式 ,AOP 的作用是 通过代理类为原始类增加一些额外功能 :如日志管理、权限管理、事务管理、异常管理等一些 非业务性功能 。
无入侵式
与传统的公共方法不同,Spring AOP 并不是直接调用的,AOP 是通过 横向的抽取机制 实现的。它将一些 非业务的通用功能 抽取出来单独维护,并 通过配置文件或注解的形式定义这些功能 要以哪种方式作用在哪个模块中,可以在无须修改任何业务代码的基础上完成对这些通用功能的调用和修改,即 无入侵式 的。
解耦合
事务与非事务功能分离,Spring AOP 还减少代码的重复&#