注解实现AOP

applicationContext.xml

<!--方法三:注解支持-->
    <bean id="point" class="com.shao.diy.PointCut"/>
    <aop:aspectj-autoproxy/>
package com.shao.diy;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;

//标注这个类是一个切面
@Aspect
public class PointCut {
    @Before("execution(* com.shao.service.UserServiceImpl.*(..))")
    public void before(){
        System.out.println("-------开始前-------");
    }
    @After("execution(* com.shao.service.UserServiceImpl.*(..))")
    public void after(){
        System.out.println("-------结束后-------");
    }
    //在环绕中,我们可以给定一个参数,代表我们要处理的介入的点
    @Around("execution(* com.shao.service.UserServiceImpl.*(..))")
    //与切入点匹配的连接点
    public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
        System.out.println("-------环绕前-------");
        Object proceed = joinPoint.proceed();
        System.out.println("-------环绕后-------");
        return proceed;
    }
}

posted @   蘑菇王国大聪明  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示