比较Spring AOP和AspectJ
3 月,跳不动了?>>> 介绍 当前有多个可用的AOP库,这些库必须能够回答许多问题: 它与我现有的或新的应用程序兼容吗? 在哪里可以实施AOP? 它与我的应用程序集成的速度有多快? 性能开销是多少? 在本文中,我们将着眼于回答这些问题,并介绍Spring AOP和AspectJ(这两种最流行的Java AOP框架)。 2. AOP 概念 在开始之前,让我们对术语和核心概念进行快速的高层次审查: 切面–一种标准代码/功能,分散在应用程序的多个位置,通常与实际的业务逻辑(例如,事务管理)不同。每个方面都专注于特定的跨领域功能 连接点–这是程序执行过程中的特定点,例如方法执行,构造函数调用或字段分配 通知–方面在特定联接点中采取的操作 切入点–与联接点匹配的正则表达式。每当任何连接点与切入点匹配时,都会执行与该切入点关联的指定建议 编织–将方面与目标对象链接以创建建议对象的过程 3.Spring AOP 和AspectJ 现在,让我们从多个角度讨论Spring AOP和AspectJ,例如功能,目标,编织,内部结构,连接点和简单性 3.1 能力和目标 简而言之,Spring AOP和AspectJ具有不同的目标。 Spring AOP旨在在Spring IoC上提供一个简单的AOP实现,以解决程序员面临的最常见问题。它不打算用作完整的AOP解决方案