Spring aspectJ切面使用步骤

如何在spring aop中使用aspectJ

1:声明一个切面:如下:

@Aspect  //切面注解

@Component //spring 实体类实例化注解

public class ErrorLog {

//声明切点

@Pointcut("execution(* com.base.user.service.*.*(..))")

public void service(){

}

//执行方法;

@AfterThrowing(pointcut="service()",throwing="e")

public void serviceAfter(JoinPoint jp,Exception e) {

System.out.println("service方法执行后续执行方法");

}

}

2:spring.mxl中开启前aop; 在xml中加入<aop:aspectj-autoproxy proxy-target-class="true" />

3:如果类的实例化使用的是注解,则需扫描注解类,在xml中加入<context:component-scan base-package="需扫描的包如:com.base"></context:component-scan>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 10:06:13

Spring aspectJ切面使用步骤的相关文章

AspectJ切面具体是什么时候实例化的?实在Spring Bean之前还是之后?

问题出于<Spring In Action>中4.5节 注入AspectJ切面时,看的不是太懂! 不懂得地方是:    AspectJ切面中需要注入Spring的Bean,那么AspectJ切面具体是什么时候实例化的?是在Spring Bean之前还是之后?

Spring AOP实现方式四之注入式AspectJ切面【附源码】

现在我们要讲的是第四种AOP实现之注入式AspectJ切面 通过简单的配置就可以实现AOP了. 源码结构: 1.首先我们新建一个接口,love 谈恋爱接口. package com.spring.aop; /** * 谈恋爱接口 * * @author Administrator * */ public interface Love { /* * 谈恋爱方法 */ void fallInLove(); } .csharpcode, .csharpcode pre { font-size: sma

Spring面向切面 --- AspectJ --- 简单使用

Spring面向切面 --- AspectJ --- 简单使用 昨天回复说说的时候突然写下了下面的一段话:分享一下: <!--******************************************* 其实经过的记忆是可以进行道德化的篡改的,就像夏目漱石的<我是猫>:但是不管怎么改,真正的事实是由每一个人的碎片拼起来的:经济学里计算成本的是在计算将来的成本而不是过去的成本,就像动漫<未来日记>一样:过去发生的事情总是在影响着将来,但是过去发生的事情却不能充当将来下

Spring注入aspectJ切面

1.用关键字aspect即可声明一个切面如:                    切面定义完毕,可以发现,pointcut被当做一个类型,指定切点还是用execution表达式:after()和returning()也被当做一个类型来声明一个通知 2.在JudgeAspect中有一个CriticismEngine类型的成员变量,为了实现对象间的松耦合,我们在aspectJ中使用Spring的依赖注入来为JudgeAspect注入CriticismEngine对象.首先将CriticismEng

Spring面向切面编程

  1.面向切面编程(AOP)的概念:把项目中需要在多处用到的功能,比如日志.安全和事物等集中到一个类中处理,而不用在每个需要用到该功能的地方显式调用.   2.术语解释:        横切关注点:分布应用于多处的功能        切面:横切关注点可以被模块化为一个类,这个类被称为一个切面        通知(advice):切面要完成的工作.Spring的通知有5种类型:before.after.after-returning.after-throwing和around这五种类型.    

spring AspectJ AOP

1.开启对spring AspectJ风格切面的支持 2.扫描注解的bean 3.声明切面@Aspect 4.声明切入点@Pointcut(value="",argNames="") 5.声明通知@Before @After @AfterReturning @AfterThrowing @Around @Before 前置通知 目标方法运行前织入 @After 后置通知 目标方法后织入 @AfterReturning 后置返回通知 目标方法返回后织入 @AfterT

Spring @AspectJ 实现AOP 入门例子(转)

AOP的作用这里就不再作说明了,下面开始讲解一个很简单的入门级例子. 引用一个猴子偷桃,守护者守护果园抓住猴子的小情节. 1.猴子偷桃类(普通类): Java代码   package com.samter.common; /** * 猴子 * @author Administrator * */ public class Monkey { public void stealPeaches(String name){ System.out.println("[猴子]"+name+&quo

Spring AspectJ的Execution表达式-备忘笔记

Aspectj切入点语法定义 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式  execution (* com.sample.service.impl..*.*(..)) execution()是最常用的切点函数,其语法如下所示: 整个表达式可以分为五个部分: 1.execution(): 表达式主体. 2.第一个*号:表示返回类型,*号表示所有的类型. 3.包名:表示需要拦截的包名,后面的两个

Spring AOP切面

在软件开发中,分布于应用多出的功能被称为和横切关注点. 通常,这些横切关注点从概念上是与应用的业务逻辑相分离的(但是往往直接嵌入到应用的业务逻辑中).将这些横切关注点与业务逻辑相分离正是面向切面编成(AOP)所要解决的 要了解什么是AOP,首先应该了解AOP相关术语,只有完全理解这些,才能更好的掌握AOP 描述切面的常用术语有 通知(advice), 切点(pointcut), 连接点(join point). 通知(advice) 切面有目标-他必须要完成的工作,成为通知.通知定义了切面是什么