Spring AOP与其他AOP框架集成及JDBC框架解析
1. Spring AOP与其他AOP框架集成概述
Spring AOP为J2EE应用中的典型横切关注点提供了良好且简单的解决方案。但如果想更深入地使用AOP,比如对使用 new 创建的细粒度对象、领域对象或字段进行增强,或者需要最小化增强的开销,就可能需要更强大的AOP解决方案。为满足这些需求,Spring能很好地与专业的AOP框架集成。
将Spring与更强大的AOP框架集成,对AOP框架和Spring都有益。依赖注入(Dependency Injection)给切面(aspects)带来的好处和给对象带来的一样多。切面可以依赖一系列对象,包括基础设施对象和应用对象,并且和对象一样,通过“推”(pushing)而不是“拉”(pulling)的方式来解决依赖关系更好。同时,向对象传递简单的参数化配置通常也很有用。例如,AspectJ不允许在运行时添加或移除增强,但可以使用依赖注入,通过配置属性或与注入的协作者交互来启用或禁用一个切面。
2. AspectJ集成
AspectJ是Java语言的扩展,它将切面和切入点提升到了语言层面的构造。AspectJ成熟且强大,但对于简单的AOP任务,它不如Spring AOP易于有效使用。不过,在需要更高级的AOP应用场景中,其能力远超Spring或其他基于代理的框架。
以下是AspectJ的一些关键点:
- 切入点表达 :AspectJ在源代码中表达切入点,而不是使用XML或其他元数据格式。常见的做法是使用抽象基切面定义增强,让子类实现抽象切入点。
-
超级会员免费看
订阅专栏 解锁全文
851

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



