面向切面编程(AOP)综合指南
1. 核心概念
- 关注点与横切关注点 :软件系统中存在核心关注点和横切关注点。核心关注点是系统的主要功能,而横切关注点则是散布在系统各处的功能,如日志记录、安全认证等。传统编程方式会导致代码的散乱和纠缠,而 AOP 可以有效解决这些问题,将横切关注点模块化。
- 连接点与切入点 :连接点是程序执行过程中的特定点,如方法调用、异常处理等。切入点则是用于选择连接点的表达式。通过切入点,可以精确地定位需要增强的连接点。
|概念|描述|
| ---- | ---- |
|连接点|程序执行过程中的特定点,如方法调用、异常处理等|
|切入点|用于选择连接点的表达式|
2. AOP 技术实现
- Spring AOP 与 AspectJ :Spring AOP 是基于代理的 AOP 实现,适用于 Spring 框架。它具有一定的局限性,如只能对方法执行连接点进行增强。AspectJ 是一个功能更强大的 AOP 框架,支持更多类型的连接点和切入点,并且可以在编译时、加载时和运行时进行织入。
- 织入方式 :
- 编译时织入 :在代码编译时将切面代码织入到目标代码中。
- 加载时织入 :在类加载时将切面代码织入到目标类中。
- 运行
超级会员免费看
订阅专栏 解锁全文
713

被折叠的 条评论
为什么被折叠?



