Spring AOP 注解配置
2014-07-05 21:57
741 查看
@Aspect
public class MyInterceptor {
/**
* 第一个*表示返回类型 为全部
* ..代表cn.itcast.service下所有的包
* 第二个*代表所有类
* 第三个*代表所有方法
* 第二个..代表方法里的参数随意
*/
@Pointcut("execution (* cn.itcast.service..*.*(..))")
private void anyMethod(){}//声明一个切入点
@Before("anyMethod()")
public void doAccessCheck(){
System.out.println("前置通知");
}
@AfterReturning("anyMethod()")
public void doAfterReturning(){
System.out.println("后置通知");
}
@After("anyMethod()")
public void doAfter(){
System.out.println("最终通知");
}
@AfterThrowing("anyMethod()")
public void doAfterThrowing(){
System.out.println("例外通知");
}
@Around("anyMethod()")
public Object doAround(ProceedingJoinPoint pjp)throws Throwable{
System.out.println("进入方法");
Object[] o = pjp.getArgs();
Object target= pjp.getTarget();
System.out.println("target:"+target.getClass().getName());
for (Object object : o) {
System.out.println(object);
}
Object result = pjp.proceed();
System.out.println("退出方法");
return result;
}
}
public class MyInterceptor {
/**
* 第一个*表示返回类型 为全部
* ..代表cn.itcast.service下所有的包
* 第二个*代表所有类
* 第三个*代表所有方法
* 第二个..代表方法里的参数随意
*/
@Pointcut("execution (* cn.itcast.service..*.*(..))")
private void anyMethod(){}//声明一个切入点
@Before("anyMethod()")
public void doAccessCheck(){
System.out.println("前置通知");
}
@AfterReturning("anyMethod()")
public void doAfterReturning(){
System.out.println("后置通知");
}
@After("anyMethod()")
public void doAfter(){
System.out.println("最终通知");
}
@AfterThrowing("anyMethod()")
public void doAfterThrowing(){
System.out.println("例外通知");
}
@Around("anyMethod()")
public Object doAround(ProceedingJoinPoint pjp)throws Throwable{
System.out.println("进入方法");
Object[] o = pjp.getArgs();
Object target= pjp.getTarget();
System.out.println("target:"+target.getClass().getName());
for (Object object : o) {
System.out.println(object);
}
Object result = pjp.proceed();
System.out.println("退出方法");
return result;
}
}
相关文章推荐
- Spring的AOP分为注解和配置两种方式实现
- spring aop的使用(注解方式以及基于xml配置方式)
- 基于注解的Spring AOP的配置和使用
- Spring---AOP(注解配置)
- Spring学习一:IOC(控制反转)和AOP(面向切面)的xml配置和注解方式
- Spring整理11 -- 面对切面(AOP)1 -- 注解配置的方式实现AOP
- spring aop注解配置web日志
- Spring Aop实例之AspectJ注解配置
- Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解
- spring之aop编程——基于注解、xml配置文件方式
- spring aop的使用(注解方式以及基于xml配置方式)
- Spring aop注解方式和xml配置方式
- spring aop注解配置web日志
- Spring AOP注解通过@Autowired,@Resource,@Qualifier,@PostConstruct,@PreDestroy注入属性的配置文件详解
- 用Spring配置文件或者注解方式实现AOP
- spring aop的使用(注解方式以及基于xml配置方式)
- AOP注解配置+Spring整合JDBC+Spring整合ibatis
- spring注解配置bean和注解配置aop
- 基于注解的Spring AOP的配置和使用--转载
- Spring AOP使用配置介绍(四):基于@AspectJ注解的aop