- 前言
- 第一部分 核心实现
- 第 1 章 Spring 整体架构和环境搭建
- 第 2 章 容器的基本实现
- 第 3 章 默认标签的解析
- 第 4 章 自定义标签的解析
- 第 5 章 bean 的加载
- 第 6 章 容器的功能扩展
- 第 7 章 AOP
- 第二部分 企业应用
- 第 8 章 数据库连接 JDBC
- 第 9 章 整合 MyBatis
- 第 10 章 事务
- 第 11 章 SpringMVC
- 第 12 章 远程服务
- 第 13 章 Spring 消息
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第 7 章 AOP
我们知道,使用面向对象编程(OOP)有一些弊端,当需要为多个不具有继承关系的对象引入同一个公共行为时,例如日志、安全检测等,我们只有在每个对象里引用公共行为,这样程序中就产生了大量的重复代码,程序就不便于维护了,所以就有了一个对面向对象编程的补充,即面向方面编程(AOP),AOP 所关注的方向是横向的,不同于 OOP 的纵向。
Spring 中提供了 AOP 的实现,但是在低版本 Spring 中定义一个切面是比较麻烦的,需要实现特定的接口,并进行一些较为复杂的配置。低版本 Spring AOP 的配置是被批评最多的地方。Spring 听取了这方面的批评声音,并下决心彻底改变这一现状。在 Spring 2.0 中,Spring AOP 已经焕然一新,你可以使用 @AspectJ 注解非常容易地定义一个切面,不需要实现任何的接口。
Spring 2.0 采用 @AspectJ 注解对 POJO 进行标注,从而定义一个包含切点信息和增强横切逻辑的切面。Spring 2.0 可以将这个切面织入到匹配的目标 Bean 中。@AspectJ 注解使用 AspectJ 切点表达式语法进行切点定义,可以通过切点函数、运算符、通配符等高级功能进行切点定义,拥有强大的连接点描述能力。我们先来直观地浏览一下 Spring 中的 AOP 实现。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论