class CalcAspect {

    @Pointcut("execution(* cn.javastack.springboot.aop.service.CalcService.*(..))")
    private void pointcut() {
    }

    @Before("pointcut()")
    public void before() {
        System.out.println("********** @Before 前置通知");
    }

    @After("pointcut()")
    public void after() {
        System.out.println("******** @After 后置通知");
    }

    @AfterReturning("pointcut()")
    public void afterReturning() {
        System.out.println("******* @AfterReturning 返回通知");
    }

    @AfterThrowing("pointcut()")
    public void afterThrowing() {
        System.out.println("******** @AfterThrowing 异常通知");
    }

    @Around("pointcut()")
    public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {<FILL_FUNCTION_BODY>}

}

        Object result;
        System.out.println("环绕通知之前");
        result = proceedingJoinPoint.proceed();
        System.out.println("环绕通知之后");
        return result;
    
<no_super_class>