查看“AOP 是如何工作的”的源代码
←
AOP 是如何工作的
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
=== AOP 是什么 === AOP 就是 Aspect Oriented Programing,面向切面编程,是一种非常适合在无需修改业务代码的前提下, 对某个或某些业务增加统一的功能,比如日志记录、权限控制、事务管理等,能很好的使得代码解耦,提高开发效率。 === AOP 中的核心概念 === ==== Advice ==== Advice 可以理解为通知、建议,在 Spring 中通过定义 Advice 来定义代理逻辑。 ==== Pointcut ==== Pointcut 是切点,表示 Advice 对应的代理逻辑应用在哪个类、哪个方法上。 ==== Advisor ==== Advisor 等于 Advice+Pointcut,表示代理逻辑和切点的一个整体,程序员可以通过定义或封装一个 Advisor,来定义切点和代理逻辑。 ==== Weaving ==== weaving 表示织入,将 Advice 代理逻辑在源代码级别嵌入到切点的过程,就叫做织入。 ==== Target ==== Target 表示目标对象,也就是被代理对象,在 AOP 生成的代理对象中会持有目标对象。 ==== Join Point ==== Join Point 表示连接点,在 Spring AOP 中,就是方法的执行点。 === AOP 的工作原理 === AOP 是发生在 Bean 的生命周期过程中的: 1、Spring 生成 bean 对象时,先实例化出来一个对象,也就是 target 对象 2、再对 target 对象进行属性填充 3、在初始化后步骤中,会判断 target 对象有没有对应的切面 4、如果有切面,就表示当前 target 对象需要进行 AOP 5、通过 CGlib 或 JDK 动态代理机制生成一个代理对象,作为最终的 bean 对象 6、代理对象中有一个 target 属性指向了 target 对象
返回至
AOP 是如何工作的
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息