AOP的相关术语以及实现方式介绍
先介绍下使用spring的aop的相关名词以及实现方式。
1、Aop的相关观念和术语介绍
(1)、Cross-cutting-concern
类似日志、如安全、检查、事物等系统层面的服务,在一些应用程序之中常被见到安插至各个对象的处理流程之中,这些动作在AOP的属于中称为Cross-cutting concerns
(2)、Aspect
将散落与各个业务逻辑之中的cross-cutting concerns收集起来,设计成各个可以独立重用的对象,这些对象称为Aspect。
(3)、Advice
Aspect当中对Cross-cutting concerns的具体实现称之为Advice。我们动态代理例子的中的那个Invoke()方法,就是Advice的一个具体实例。
(4)、Joinpoint
Advice在应用程序执行时加入业务流程的点或者实际称之为JointPoint。具体来说,就是Advice在应用程序中被执行的实际。Spring只支持方法的Jointpoint,执行实际可能是某个方法被执行之前或者之后(或者两者都有),或者方法中的某个异常发生的时候。
(5)、Pointcut
定义了感兴趣的JointPoint,当调用的方法符合Pointcut表达式的时候,将Advice织入至应用程序提供服务。
(6)、Target
一个Advice被应用的对象或者目标对象。
(7)、Introduction
对于一个现存的类,Introduction可以为器增加行为,且不用修改该类的程序,具体来说可以为某个已编写或者编译完的累,在执行时期动态的增加一些方法或者行为,而不用修改或者新增任何一行程序代码。
(8)、Proxy
Spring的AOP主要是通过动态代理来完成的,可用于代理任何的接口,另一方面,Spring也可以使用CGLIB代理,用以代理类,像一些遗留类。
(9)、Weave
Advice被应用至对象之上的过程称之为织入(Weave),在AOP中织入的方式有几个时间点:编译时期、类加载时期,执行时期。
2、SpringAop的几种实现方式
Spring的AOP中,应该优先采用实现接口的方式,这个可以让应用程序组件彼此之间的耦合度降低。如果使用Proxy classes的方式,由于必须产生子类,所以对于被声明为final的方法无法进行代理。而且这个方式基本上是让一些无法更新源码的第三方类或者旧类来使用的。
(1)、实现Spring API的传统方式
(2)、基于xml的配置(必须使用基于Schema的XML设置,并使用spring2.0心的<aop>标签)
(3)、使用@AspectJ的Annotation支持。必须在jdk1.5以上版本才可以使用
有了这些基础知识,那么下篇我们来开始spring aop编程的实战之旅:)
分享到:
相关推荐
Spring Framework。 官网 Spring Framework API。 Spring Framework 开发文档。
标题中的“maven仓库中org下的springframework”指的是在Maven的本地或远程仓库中,位于`org`组织下的`springframework`项目。Spring Framework是Java开发中的一个核心框架,由Pivotal Software公司维护,它为构建...
"Spring Framework 4 参考文档中文版" 以下是 Spring Framework 4 参考文档中文版的知识点总结: 一、Spring Framework 概览 * Spring Framework 是一个轻量级的解决方案,是一站式构建企业级应用的一种选择。 * ...
7. **版本兼容**:`org.springframework.core.env`包包含了环境属性管理和版本兼容性处理,确保Spring框架在不同环境中稳定运行。 三、`springframework-license.txt`文件 `springframework-license.txt`文件是...
spring framework 中文参考手册
Spring Framework 是一个广泛使用的开源Java应用框架,特别适用于企业级应用程序开发。它的最新版本v6.1.4为我们带来了许多新特性和改进,使得开发者能够更高效、更灵活地构建可维护的、高性能的应用程序。这个...
org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包,org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包org.springframework.flex-1.0.3.RELEASE.jar.zip用于JAR包org.springframework.flex-1.0.3....
Spring Framework API文档。Spring是什么呢?首先它是一个开源的项目,而且非常活跃;它是一个基于IOC和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据...
org.springframework.aop-3.0.4.RELEASE.jar org.springframework.asm-3.0.4.RELEASE.jar org.springframework.aspects-3.0.4.RELEASE.jar org.springframework.beans-3.0.4.RELEASE.jar org.springframework....
### Spring Framework 简介 #### 一、Spring Framework 的独特之处 在众多J2EE框架中,Spring Framework 自2003年发布以来一直备受瞩目。与其他框架相比,Spring Framework 的独特之处在于: 1. **专注于管理业务...
7. **Spring Boot**:虽然这里未直接提及Spring Boot,但它是基于Spring Framework的快速开发工具,简化了配置并集成了大量常用库,Spring 5.3.32的更新也会影响到Spring Boot的稳定性。 8. **WebSocket支持**:...
Spring Framework 是Java开发中的核心框架,它以其强大的功能和易用性成为了许多开发者首选的工具。Spring Framework 6.0.8-SNAPSHOT 的中文文档是针对这一最新版本的详尽指南,旨在解决中文互联网上关于Spring框架...
Getting started with Spring Framework (4th Edition) is a hands-on guide to begin developing applications using Spring Framework 5. The examples (consisting of 88 sample projects) that accompany this ...
org\springframework\aop org\springframework\beans org\springframework\cache org\springframework\context org\springframework\core org\springframework\dao org\springframework\ejb org\spring...
Spring Framework 5.1.0源码 The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key ...
7. `org.springframework.core.type`: 提供了类型扫描和类型分析的工具,是Spring自动配置和组件扫描的基础。 三、3.1.1.RELEASE版本的改进 在`3.1.1.RELEASE`版本中,Spring对核心模块进行了一些优化: 1. 更强的...
Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。 该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-...
Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。 该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-...
org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.aspects-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE.jar org.springframework....
在Java的Web开发领域,Spring框架是不可或缺的重要工具,其中`org.springframework.web.jar`文件是Spring框架的核心组成部分,主要用于处理Web应用程序的相关功能。这个JAR(Java Archive)文件包含了Spring Web模块...