public interface IOther {
public void doOther();
}
import org.aopalliance.intercept.MethodInvocation;
import org.springframework.aop.IntroductionInterceptor;
public class IChangeAdvisora implements IntroductionInterceptor,IOther{
public Object invoke(MethodInvocation m) throws Throwable {
if(implementsInterface(m.getMethod().getDeclaringClass())){
return m.getMethod().invoke(this, m.getArguments());
}else{
return m.proceed();
}
}
public boolean implementsInterface(Class intf) {
return intf.isAssignableFrom(IOther.class);
}
public void doOther() {
System.out.println("doOther in intrduction");
}
}
beanconfig.xml
<bean id="somebean" class="cn.blogjava.introduction.Some" />
<bean id="ChangeAdvisor"
class ="IChangeAdvisora" />
<bean id="introAdvisor"
class="org.springframework.aop.support.DefaultIntroductionAdvisor">
<constructor-arg>
<ref bean ="ChangeAdvisor" />
</constructor-arg>
</bean>
<bean id="someIntroducedBean" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target" ref ="somebean">
</property>
<property name="interceptorNames">
<list>
<value>
introAdvisor</value>
</list>
</property>
<property name="proxyInterfaces">
<value>IOther</value>
</property>
<property name="proxyTargetClass">
<value>true</value>
</property>
<property name="optimize"><value>true</value>
</property>
</bean>
分享到:
相关推荐
1. **切面(Aspect)**:切面是AOP的核心概念,它封装了多个相关操作,包括通知(Advice)、引入(Introduction)、目标对象(Target Object)、织入(Weaving)和切点(Pointcut)。在Spring中,切面可以是单独的类...
标题“spring-aop-aspectj-case”涉及到的是Spring框架中的AOP(面向切面编程)与AspectJ的集成使用案例。在Spring框架中,AOP用于处理系统中的横切关注点,如日志、事务管理等,而AspectJ则是一个强大的、独立的...
Spring AOP,全称为Aspect-Oriented Programming,是Spring框架的一部分,主要负责处理系统的切面编程,即关注点分离。AOP允许开发者定义“切面”,这些切面封装了特定的职责,比如日志记录、事务管理、性能度量等,...
《Spring AOP 3.2.0.RELEASE 源码解析》 Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的重要组成部分,它为开发者提供了声明式事务管理、日志记录、性能监控等跨切面的关注点。在Spring ...
Spring AOP是Spring框架的重要组成部分,它提供了面向切面编程的能力,使得开发者可以在不修改源代码的情况下对程序进行横切关注点(如日志、事务管理等)的处理。`spring-aop.xsd`文件是Spring AOP配置的XML Schema...
### Spring AOP 文档知识点详解 #### 一、Spring AOP 概述 Spring AOP(面向切面编程)是Spring框架中的一个关键模块,它为开发者提供了在应用程序中实现横切关注点(Cross-cutting Concerns)的能力。横切关注点...
### Spring2-aop.pdf 关键知识点解析 #### 一、Spring 框架概述与特点 - **Spring** 是一个开源的轻量级 Java 应用框架,它为 Java 应用提供了完整的解决方案,尤其适合于构建企业级应用。Spring 的核心特性包括...
6. **引入(Introduction)**:Spring AOP允许在现有类中添加新的方法或属性,这称为类型引入。这可以用于向旧的非AOP类添加新行为,例如添加日志或事务支持。 7. **配置方式**:Spring AOP可以通过XML配置、注解...
引介(Introduction)是Spring AOP的一个特性,允许在通知对象中声明并实现它们原本未实现的额外接口。通过`@DeclareParents`注解可以实现引介。 连接点(Joint Point)是程序执行过程中的特定点,通常在Spring AOP...
### Spring2-AOP入门实例教程知识点详解 #### 一、Spring框架概述 - **轻量级J2EE开发框架**:Spring是一个轻量级的Java应用框架,它为开发复杂的企业级应用提供了一种简化的方法。 - **发展历程**:自2002年发布...
Spring AOP实现详解 在Java开发中,Spring框架以其强大的功能和灵活性被广泛使用,而AOP(面向切面编程)则是Spring框架的一个重要特性。AOP为开发者提供了一种处理横切关注点的新方法,使得代码更加模块化,提高了...
**Spring AOP 依赖 Jar 包详解** 在 Spring 框架中,AOP(面向切面编程)是一种强大的设计模式,它允许开发者定义“切面”,这些切面可以封装跨多个对象的行为或责任。Spring AOP 提供了在运行时实现切面的功能,...
### Spring AOP面向方面编程原理:AOP概念详解 #### 一、引言 随着软件系统的日益复杂,传统的面向对象编程(OOP)逐渐暴露出难以应对某些横切关注点(cross-cutting concerns)的问题。为了解决这一挑战,面向方面编程...
Spring AOP,全称为Aspect-Oriented Programming(面向切面编程),是Spring框架的重要组成部分,它为Java应用程序提供了强大的横切关注点管理能力。在Java Web开发中,Spring AOP通常用于实现如日志记录、权限控制...
《Spring AOP 源码分析》 在深入探讨Spring AOP之前,我们先要理解AOP(面向切面编程)的基本概念。AOP是一种编程范式,它将关注点分离,使得我们可以将横切关注点(如日志、事务管理、安全检查等)与业务逻辑解耦...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点问题,如日志、事务管理等。在本示例中,我们将深入探讨如何在Maven项目中设置和使用Spring AOP...
《深入解析Spring AOP:源码解读与应用实践》 Spring AOP,即Spring的面向切面编程,是Spring框架的重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强或统一处理的方法。本文将围绕Spring AOP...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和抽象化的方法来处理系统中的交叉关注点,如日志、事务管理、安全性等。本学习笔记将深入探讨Spring AOP的核心概念、工作原理以及实际...
描述中提到的博文链接可能详细解释了如何在Spring中配置和使用AOP,包括定义切点(pointcut)、通知(advice)、切面(aspect)、引入(introduction)等概念,以及如何通过注解或XML配置来声明这些元素。...