返回介绍

第 7 章 AOP

发布于 2025-04-22 22:09:13 字数 593 浏览 0 评论 0 收藏

我们知道,使用面向对象编程(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 实现。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。