http://aopalliance.sourceforge.net/motivations.html
AOP Alliance (Java/J2EE AOP standards)
Motiviations
Aspect-Oriented Programming (AOP) is a programming technique that will be able to enhance several existing middleware environments (such as J2EE), or development environements (e.g. JBuilder, Eclipse).
Several projects now provide AOP-related techniques such as generic proxies, interceptors, or bytecode translators.
* ASM: a lightweight bytecode translator.
* AspectJ: an AO source-level weaver. New Language.
* AspectWerkz: an AO framework (bytecode-level dynamic weaver+configuration).
* BCEL: a bytecode translator.
* CGLIB: high-level API for class artifact manipulation and method interception.
* JAC: an AO middleware (bytecode-level dynamic weaver+configuration+aspects). Framework.
* Javassist: a bytecode translator with a high-level API.
* JBoss-AOP: interception and metadata-based AO framework.
* JMangler: a bytecode translator with a composition framework for translations.
* Nanning: an AO weaver (framework).
* Prose: an AO bytecode-level dynamic weaver (framework).
* ... and many others (email me to add a new one)
All these projects have their onw goals and speficities. However, several common basic components are still usefull (and sometimes required) to build a full AO system. For instance, a component that is able to add metadata on the base components, an interception framework, a component that is able to perform code translation in order to advice the classes, a weaver component, a configuration component, and so on.
To us, it would be great to be able to reuse different components coming from different projects to build a full AO system, and for three main reasons.
* Firstly, several components already exist and it would be stupid to rebuild them.
* Secondly, various implementation of the same component may be useful and be more-or-less suited depending on the environement. For instance:
o the program tranformation can be done at a bytecode or a the source-code level, at compile or at run time, using an interception or a code insertion mechanism depending on the implementation of the component that translates the base program,
o the weaver may be used within a standard Java context or within an EJB context, which may imply some implementation differencies
* Thirdly, having common interfaces and components would help in reusing aspects on different weaving environements... this will greatly improve sofware reusing.
For these reasons, we think that a standarization of the interfaces of the aspect-oriented components would be great and will bring great simplifications for the entire AOSD community, but also for all the communities that will to use AOP in a close future.
分享到:
相关推荐
Java/J2EE Job Interview Companion Have you got the time to read 10 or more books and articles to add value prior to the interview? This book has been written mainly from the perspective of Java/J2EE ...
AOP Alliance是一个开源项目,它的全称是Aspect Oriented Programming(面向切面编程)Alliance,是Java平台上的一个接口集合,为面向切面编程的实现提供了一个统一的API。这个库的主要目的是为了在不同的AOP框架...
nested exception is java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor 就是少了这个包
开发工具 aopalliance-1.0开发工具 aopalliance-1.0开发工具 aopalliance-1.0开发工具 aopalliance-1.0开发工具 aopalliance-1.0开发工具 aopalliance-1.0开发工具 aopalliance-1.0开发工具 aopalliance-1.0开发工具...
在Java应用中,aopalliance.jar包扮演着至关重要的角色,它包含了一些核心接口,如`org.aopalliance.intercept.MethodInterceptor`和`org.aopalliance.aop.Advice`,这些接口定义了拦截器和通知的概念,它们是AOP的...
3. 跨框架协作:由于AOPAlliance提供了一套通用的接口,不同AOP框架的组件可以互相协作,增强了整个Java生态系统的兼容性和互操作性。 三、aopalliance.jar的使用 aopalliance.jar是AOPAlliance项目的实现库,包含...
在Java的面向切面编程(AOP)领域,AOP Alliance是一个至关重要的组件,尤其对于Spring框架的开发者来说,它是不可或缺的工具。aopalliance-1.0.jar是这个联盟的实现库,为不同AOP框架之间的互操作性提供了标准接口...
《AOP Alliance 1.0:Java中的面向切面编程集成框架》 AOP Alliance是一个在Java生态中广泛使用的开源项目,其1.0版本的发布对于理解和实践面向切面编程(Aspect-Oriented Programming,AOP)具有重要意义。本资源...
标题 "aopalliance_java_" 暗示我们讨论的主题是与Java开发相关的AOP(面向切面编程)联盟工具。AOP Alliance是一个开源项目,它提供了一个统一的API,使得不同的面向切面编程框架可以在Java环境中互操作。在Java...
总的来说,aopalliance-1.0.jar作为AOP联盟的基础库,为Java开发者提供了统一的AOP接口标准,促进了不同AOP框架间的协同工作,是理解和应用面向切面编程不可或缺的一部分。在使用过程中,配合合适的AOP框架,可以极...
AOP联盟(aopalliance)是Java平台上的一个开源项目,提供了一个统一的API,使得不同的AOP框架可以共享相同的切面实现。aopalliance-1.0.jar是这个项目的标准库,包含了一系列基础接口,使得不同的AOP框架如Spring、...
《Spring AOP开发中的核心组件:AOP Alliance详解》 在Spring框架的AOP(面向切面编程)开发中,`com.springsource.org.aopalliance-1.0.0.jar`扮演着至关重要的角色。AOP Alliance是Spring和其他AOP框架之间的一个...
### AOP Alliance 白皮书核心知识点解析 #### 一、引言 AOP(Aspect Oriented Programming,面向切面编程)是一种编程范式,它旨在通过将横切关注点(cross-cutting concerns)从业务逻辑中分离出来,提高系统的...
总之,AOP Alliance 1.0 为Java开发者提供了一种标准化的方式,去实现和集成面向切面编程的功能,促进了不同AOP框架之间的互操作性。通过理解和利用其中的接口,开发者可以更好地设计和实现关注点分离,提升代码的...
AOP Alliance 为Java平台上的AOP实现提供了一个公共API,使得在不同的AOP框架之间切换变得更加容易。 描述中提到的 "aopalliance-1的jar包跟struts跟spring的整合包" 暗示了这个压缩包包含了AOP Alliance 1.0的JAR...
《aopalliance.jar在Spring 3.0中的核心作用及理解》 ...了解并熟练掌握aopalliance.jar及其在Spring中的应用,对于提升Java开发能力,尤其是使用Spring框架进行企业级开发的工程师来说,至关重要。
Spring框架作为Java EE中的核心组件,提供了丰富的AOP支持,而`aopalliance`库则使得Spring能够与其他AOP框架如AspectJ进行无缝集成。例如,通过使用Spring的`@Aspect`注解定义切面,并结合`@Before`、`@After`等...
在Java开发领域,AOP(Aspect Oriented Programming,面向切面编程)作为一种重要的编程范式,为解决模块化编程中的横切关注点问题提供了新的思路。AOPalliance是AOP框架之间的一个接口标准,它定义了一些基本的切面...
《AOP Alliance与Java编程实践》 在Java开发领域,AOP Alliance是一个不可或缺的重要组成部分,尤其对于面向切面编程(Aspect-Oriented Programming,AOP)的实践者来说。AOP Alliance是一个开源项目,旨在为各种...
标签:glassfish、external、repackaged、aopalliance、hk2、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持...