虽然 Spring AOP 能够满足许多应用的切面需求,但是与 AspectJ 相比,Spring AOP 是一个功能比较弱的 AOP 解决方案。AspectJ 提供了 Spring AOP 所不能支持的许多类型的切点。
对于大部分功能来讲,AspectJ 切面与 Spring 是相互独立的。虽然它们可以织入到任意的 Java 应用中,这也包括了 Spring 应用,但是在应用 AspectJ 切面时几乎不会涉及到 Spring。
如果在执行通知时,切面依赖于一个或多个类,我们可以在切面内部实例化这些协作的对象。但更好的方式是,我们可以借助 Spring 的依赖注入把 bean 装配进 AspectJ 切面中。
因为此处有点点超过我的学习计划,所以放到以后学习!!!
总结:
Spring 提供了一共 AOP 框架,让我们把切面插入到方法执行的周围,现在我们已经学会如何把通知织入前置、后置和环绕方法的调用中,以及为处理异常添加自定义的行为。
关于在 Spring 应用中如何使用切面,我们可以通过使用 @AspectJ 注解和简化的配置命名空间。
此时此刻,我们已经覆盖了 Spring 框架的基础知识,了解到如何配置 Spring 容器以及如何为 Spring 管理的对象应用切面。
上一篇:面向切面的 Spring —— 如何在 XML 中声明切面?
下一篇:Web 中的 Spring —— 如何构建 Spring Web 应用程序?