知识大全 Spring3.0中的AOP配置方法

Posted

篇首语:心静可以生慧,行善方能得福。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Spring3.0中的AOP配置方法相关的知识,希望对你有一定的参考价值。

Spring3.0中的AOP配置方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  第一种配置方法 使用@AspectJ标签

  在配置文件中添加注解

  创建一个Java文件 使用@Aspect注解修饰该类

  创建一个方法 使用@Before @After @Around等进行修饰 在注解中写上切入点的表达式

  说明 上述Java文件创建好后 需要将其在Spring的容器中进行声明 可以在配置文件中定义节点 也可以使用@Component组件进行修饰

  示例

  Java代码

  import aspectj lang ProceedingJoinPoint;

  import aspectj lang annotation After;

  import aspectj lang annotation AfterThrowing;

  import aspectj lang annotation Around;

  import aspectj lang annotation Aspect;

  import aspectj lang annotation Before;

  import springframework stereotype Component;

  /**

  * 基于注解的AOP日志示例

  * @author ZYWANG

  */

  @Component

  @Aspect

  public class AopLog

  //方法执行前调用

  @Before( execution (* zywang services impl * *( )) )

  public void before()

  System out println( before );

  

  //方法执行后调用

  @After( execution (* zywang services impl * *( )) )

  public void after()

  System out println( after );

  

  //方法执行的前后调用

  @Around( execution (* zywang services impl * *( )) )

  public Object around(ProceedingJoinPoint point) throws Throwable

  System out println( begin around );

  Object object = point proceed();

  System out println( end around );

  return object;

  

  //方法运行出现异常时调用

  @AfterThrowing(pointcut = execution (* zywang services impl * *( )) throwing = ex )

  public void afterThrowing(Exception ex)

  System out println( afterThrowing );

  System out println(ex);

  

  

  上面这段代码中多次使用了重复的切入点 这种情况下 可以使用@Pointcut标注 来修改一个切入点方法(这个方法不需要参数和方法体) 然后就可以在@Before等标注中引用该方法作为切入点 示例如下

  Java代码

  import aspectj lang ProceedingJoinPoint;

  import aspectj lang annotation Around;

  import aspectj lang annotation Aspect;

  import aspectj lang annotation Before;

  import aspectj lang annotation Pointcut;

  import springframework stereotype Component;

  /**

  * 基于注解的AOP日志示例

  * @author ZYWANG

  */

  @Component

  @Aspect

  public class AopLog

  @Pointcut( execution (* iflysse school services impl * *( )) )

  public void pointcut()

  //方法执行前调用

  @Before( pointcut() )

  public void before()

  System out println( before );

  

  //方法执行的前后调用

  @Around( pointcut() )

  public Object around(ProceedingJoinPoint point) throws Throwable

  System out println( begin around );

  Object object = point proceed();

  System out println( end around );

  return object;

  

  

  第二种配置方法 基于配置文件的配置

  创建一个Java文件 并指定一个用于执行拦截的方法 该方法可以有 个或多个参数

  在Spring配置文件中注册该Java类为一个Bean

  使用 等标签进行配置

  示例

  Java文件

  Java代码

  import aspectj lang ProceedingJoinPoint;

  /**

  * 基于配置文件的AOP日志示例

  * @author ZYWANG

  */

  public class AopLog

  //方法执行的前后调用

  public Object runOnAround(ProceedingJoinPoint point) throws Throwable

  System out println( begin around );

  Object object = point proceed();

  System out println( end around );

  return object;

  

  

  Spring配置文件

  Xml代码

  注意 上面这个示例使用的是around方式的拦截 该方法要求Java类中的方法有一个ProceedingJoinPoint类型的参数

cha138/Article/program/Java/ky/201311/28907

相关参考

知识大全 Spring3.0新特征-Restful support MVC[2]

Spring3.0新特征-RestfulsupportMVC[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 AOP中的主要技术(二)

AOP中的主要技术(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SessionPoolD

知识大全 浅析Spring.net中的Aop使用

浅析Spring.net中的Aop使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 通过注解简化spring aop织入点的指定

   大型Javaweb应用往往有很大的系统访问量为了保护服务器免于出现过载的情况一般都需要对流量进行控制对于web页面的访问一般通过配置服务器或者apache可以起到保

知识大全 Spring 3.0近况

Spring专访:Spring3.0近况  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Info

知识大全 AOP概念

SpringAOP面向方面编程原理:AOP概念  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  A

知识大全 PHP系列学习之AOP[2]

PHP系列学习之AOP[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  AOP通知类型  通

知识大全 IoC、AOP

用代码学习Spring:IoC、AOP  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 AOP概念解析

AOP概念解析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为什么要区分JEE容器和JEE应用

知识大全 Spring AOP 详解

SpringAOP详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  此前对于AOP的使用仅限于