java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring AOP

Spring针对AOP详细讲解

作者:亚太地区百大最帅面孔第101名

Spring是一个广泛应用的框架,SpringAOP则是Spring提供的一个标准易用的aop框架,依托Spring的IOC容器,提供了极强的AOP扩展增强能力,对项目开发提供了极大地便利

什么是Spring AOP

为什么要用AOP?

AOP的组成

Spring AOP的实现

导入依赖

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
 </dependency>

定义切面和切点

@Component
@Aspect //定义切面
public class UserAspect {
    @Pointcut("execution(* com.example.demo.controller.UserController.*(..))")
    public void pointcut(){}
}

定义通知Advice(5类)

@Component
@Aspect //定义切面
public class UserAspect {
    @Pointcut("execution(* com.example.demo.controller.UserController.*(..))")
    public void pointcut(){}
    // 前置通知(要带一个括号)
    @Before("pointcut()")
    public void doBefore(){
        //业务代码
        System.out.println();
        System.out.println("执行了前置通知");
        System.out.println();
    }
}
 @Around("pointcut()")
    public Object doAround(ProceedingJoinPoint joinPoint){
        Object result = null;
        //执行前置业务代码
        System.out.println("执行环绕通知的前置方法");
        try {
            //执行(拦截的)业务方法
            result = joinPoint.proceed();
        } catch (Throwable throwable) {
            throwable.printStackTrace();
        }
        //执行后置业务代码
        System.out.println("执行环绕通知的后置方法");
        return result;
    }

到此这篇关于Spring针对AOP详细讲解的文章就介绍到这了,更多相关Spring AOP内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文