`
白色熊猫
  • 浏览: 17551 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

基于API 的spring aop (advisor)

 
阅读更多
1、advisor是pointcut和advice的桥梁
public interface PointcutAdvisor  extends Advisor。spring中每个内建的pointcut都有相对应的pointcutAdvisor。常用的有两种,NameMatchMethodPointcutAdvisor,RegExphMethodPointcutAdvisor。NameMatchMethodPointcutAdvisor 通过匹配target的id值和mappeName来决定joincut。而RegExphMethodPointcutAdvisor是通过pattern来确定target已经joincut。pattern字符为:
.代表任何单一字符,\代表转义。格式为[包名.类名.]方法名
java代码同上一篇,配置文件如下。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ">
	<bean id="hello" class="cn.com.gan.spring.aop.ImpHello"></bean>
	<bean id="loggera" class="cn.com.gan.spring.aop.LoggerAfter"></bean>
	<bean id="loggerb" class="cn.com.gan.spring.aop.LoggerBefore"></bean>
<bean id="logger" class="cn.com.gan.spring.aop.loggerAdvisor"></bean>
<bean id="advisor"
		class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
		<property name="mappedName" value="s*n"></property>
		<property name="advice">
			<ref local="logger" />
		</property>
	</bean>
	<bean id="regadvisor"
		class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
		<property name="pattern" value=".*Again"></property>
		<property name="advice" ref="logger"></property>
	</bean>

<bean id="proxyhello"     class="org.springframework.aop.framework.ProxyFactoryBean">
		<property name="proxyInterfaces">
			<value>cn.com.gan.spring.aop.IHello</value>
		</property>
		<property name="target">
			<ref local="hello" />
		</property>
		<property name="interceptorNames">
			<list>
			advisor	
			</list>
		</property>
	</bean>
</beans>

分享到:
评论

相关推荐

    springAOP所需jar包

    1. spring-aop.jar:这是Spring AOP的核心库,包含了AOP的API和实现。 2. spring-beans.jar:Spring的bean容器,负责管理和装配bean,AOP也是基于这个容器实现的。 3. spring-context.jar:提供了上下文支持,包括...

    Spring AOP IOC源码笔记.pdf

    Spring AOP提供了Pointcut、Advisor、Aspect等概念,用于定义切入点、通知和切面。开发者可以通过自定义Aspect来实现特定的功能增强。 11. AOP的实现方式: Spring AOP支持基于代理和基于注解的两种方式。基于代理...

    第四章:Spring AOP API 设计模式1

    2. **构建器模式(Builder)**:Spring AOP中的`BeanFactoryAspectJAdvisorsBuilder`实现了构建器模式,它用于构建切面(Aspect)的顾问(Advisor)集合。构建器模式将复杂对象的构建过程分解,方便对各部分独立处理...

    springAOP配置动态代理实现

    2. **注解配置**:Spring 2.5引入了基于注解的AOP配置,可以在切面类上使用@Aspect注解,@Before、@After、@AfterReturning、@AfterThrowing和@Around定义通知,@Pointcut定义切点。例如: ```java @Aspect ...

    spring aop所需jar包

    - `spring-aop.jar`:Spring AOP的核心库,包含了AOP的API和实现。 - `spring-beans.jar`:Spring Bean的定义和管理,AOP与之紧密关联。 - `spring-core.jar`:Spring的基础库,提供核心工具类和IoC容器。 - `...

    Spring  AOP实现方法大全

    你需要实现`org.springframework.aop.Advisor`接口的子接口`org.aopalliance.intercept.MethodInterceptor`,并提供一个`invoke()`方法。 4. **Throw Advice**:在方法抛出异常后调用,但不包括在方法内部捕获并...

    spring_aop.zip

    "spring-aop.jar"包含了Spring AOP框架的核心类和接口,如org.springframework.aop.*包下的内容,它提供了基于代理的AOP实现。而"spring-aspects.jar"则包含了一些预定义的AspectJ切面,比如事务管理方面的支持。 ...

    第三章:Spring AOP API 设计与实现1

    Spring AOP API的设计与实现是一个复杂而灵活的系统,它通过AOP代理、Advisor、Pointcut和Advice等组件,实现了对应用程序的横切关注点的解耦和封装,从而提高了代码的可维护性和复用性。理解并熟练运用这些概念和...

    spring2-aop.pdf

    - **基于 API 方式来使用 Spring AOP**:通过编程的方式配置切面和通知。 ##### 5.4 Spring 中的 AOP 实现及应用 - **Spring AOP 实现**:Spring 使用代理模式实现 AOP 功能,支持基于接口的动态代理和 CGLIB 字节...

    SpringAOP实现.docx

    AOP在Spring框架中的实现主要分为两种方式:使用Spring的API接口以及自定义类来实现。 1. **什么是AOP** AOP(Aspect Oriented Programming)是一种编程思想,是对传统的面向对象编程(OOP)的补充。在OOP中,我们...

    spring2-aop入门实例教程

    - **基于API的方式**:通过编程的方式直接使用Spring AOP API来实现AOP功能。 #### 五、Spring AOP实现与应用 - **Spring AOP支持**:Spring支持多种AOP实现方式,包括AspectJ和自己的AOP实现。 - **配置方法**:...

    Spring 代理 Aop 实现原理讲解.docx

    Spring提供了两种主要的AOP实现方式:基于XML配置和基于注解。 1. **AOP原理分析** AOP的核心在于切面和通知。切面(Aspect)是关注点的模块化,比如事务管理就是一个典型的切面。通知(Advice)是在特定连接点...

    com.springsource.org.aopalliance-1.0.0.jar.zip

    AOP Alliance是Spring和其他AOP框架之间的一个接口层,它提供了一个通用的API,使得不同的AOP实现能够相互协作,从而简化了多框架集成的工作。本文将深入探讨AOP Alliance的核心概念、功能以及在Spring AOP开发中的...

    aop所依赖的所有包

    它定义了一些基础的切面接口,如Advisor(顾问)、Pointcut(切点)和Advice(通知),这些接口在不同的AOP框架中通用,有助于实现跨框架的切面代码重用。 Aspects则是AspectJ中的核心概念,它代表了关注点的封装...

    spring源码分析(1-10)

    7. **Spring AOP中的拦截器调用实现**:Spring AOP使用Advisor和Interceptor实现拦截器链,处理方法调用前后的逻辑。MethodBeforeAdvice、AfterReturningAdvice等接口定义了拦截器的行为。 8. **Spring 驱动...

    spring java

    通过配置`&lt;aop:config&gt;`、`&lt;aop:pointcut&gt;`、`&lt;aop:advisor&gt;`等元素,可以实现切面、切点和通知的声明,这对于理解Spring AOP的底层工作原理十分有帮助。 总结来说,本篇内容覆盖了Spring框架的AOP编程、代理机制,...

    Spring1.2api参考手册.zip

    10. **Spring的XML配置**:在1.2版本中,XML配置是主要的配置方式,开发者使用标签定义Bean,使用标签设置属性,使用&lt;aop:config&gt;和&lt;aop:advisor&gt;等标签配置切面。 11. **事件监听**:Spring 1.2支持事件监听机制,...

    Spring API

    7.4. Spring里的Advisor API 7.5. 使用ProxyFactoryBean创建AOP代理 7.5.1. 基础 7.5.2. JavaBean属性 7.5.3. 基于JDK和CGLIB的代理 7.5.4. 对接口进行代理 7.5.5. 对类进行代理 7.5.6. 使用“全局”通知器 ...

Global site tag (gtag.js) - Google Analytics