SpringAOP 注解形式的实现
一、AOP(面向切面编程)简介
在软件业,AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程,通
过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP 是 OOP 的延
续,是软件开发中的一个热点,也是 Spring 框架中的一个重要内容,是函数式编程的一种
衍生范型。利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间
的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
二、主要功能
日志记录,性能统计,安全控制,事务处理,异常处理等等
三、示例
① 定义切面:
package com.aop;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.log4j.Logger;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class AspectjAop {
private Logger logger=Logger.getLogger(AspectjAop.class);
// 声明一个切入点
@Pointcut("execution(public * com.service.impl.*.*(..))")
private void anyMethod() {
}
//前置通知
@Before("anyMethod()")
评论0
最新资源