Java spring注解的方式给接口方法添加日志

本文介绍了如何在Java Spring中使用自定义注解`@Logbackup`来添加接口方法的日志记录。通过定义注解、切面和反射,实现了在方法执行前后自动插入日志操作。注解包含`logtype`和`operation`两个参数,切面通过`@Aspect`和`@Pointcut`监听注解,并结合`@Before`、`@After`等通知进行相应处理。
摘要由CSDN通过智能技术生成

@Logbackup是我定义的注解名称,logtype和operation是注解接受的自定义参数,上图是日志以注解的方式添加使用的实例。其实实现这一套的方式用到的Java知识也就注解、切面、反射,注解就相当于你在某个方法那里做的标记,切面就是监控这个标记,等遇到这个标记就触发事件,反射就是通过这个标记获取参数和方法。

注解定义,注解都是接口,属性需要像这样写:

@Target({ ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Logbackup {

    public String logtype();
    
    public String operation();
}
 

 以这个注解为切面,其实就是找到这个注解触发你自己需要干的事情

@Aspect
@Component
public class LogbackupAOPAspect {
    @Pointcut(value = "@annotation(com.founder.cms.annotation.Logbackup)")  
    private void comein(){}//定义一个切入点  
    
    @Resource
    protected LogDao logDao;
    /**  
     * Before 
     * 在核心业务执行前执行,不能阻止核心业务的调用。 
     * @param joinPoint  
     */    
    /*@Before("comein()")    
    public void beforeAdvice(JoinPoint point) {    
        StrUtil.p("-----beforeAdvice().invoke-----");  
      //获得注释方法签名【方法名+形参】
        MethodSignature ms = (MethodSignature) point.getSignature();
        
        Method method = ms.getMethod();
        //获取方法上的注释
        Logbackup permission = method.getAnnotation(Logbackup.class);
        String s = permission.logtype();
        StrUtil.p(" 此处意在执行核心业务逻辑前,做一些安全性的判断等等");  
        StrUtil.p(" 可通过joinPoint来获取所需要的内容");  
        StrUtil.p("-----End of beforeAdvice()------");  
    }*/
      private String stringconnect(String

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值