java 自定义切面

复制代码
package com.yiautos.psf.order.util.myannotation;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class MyLogCreateAspect {
    private static final Logger log = LoggerFactory.getLogger(SericalNumCreateAspect.class);

    @Pointcut("@annotation(com.yiautos.psf.order.util.myannotation.MyLogCreate)")
    public void myLogCreateAspect() {
    }

    @AfterReturning(pointcut = "myLogCreateAspect()", returning = "result")
    public void processMyLogCreateAspect(JoinPoint joinPoint, Object result) {
        Object[] args = joinPoint.getArgs();
        log.info("切面结束:{}", Func.toJson(args));
    }

    @Before("myLogCreateAspect()")
    public void begin() {
        log.info("切面开始");
    }
}
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.yiautos.psf.order.util.myannotation;
 
import java.lang.annotation.*;
 
/***
 * 创建日志
 * @return
 * @date 2022-03-14 11:05
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface MyLogCreate {
}

  

posted @   八英里  阅读(495)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示