记录一下JoinPoint的getSignature方法

在使用springboot写aop的时候,有个JoinPoint类,用来获取代理类和被代理类的信息。

这个文章记录一下JoinPoint的getSignature方法返回的是什么格式。

先看getSignature方法的内部代码:

package org.aspectj.lang;
 
public interface Signature {
          
   
    String toString();
 
    String toShortString();
 
    String toLongString();
 
    String getName();
 
    int getModifiers();
 
    Class getDeclaringType();
 
    String getDeclaringTypeName();
}

再看 连接点即被测试的类:

package com.fast.web.controller;
 
import com.fast.framework.dao.TestDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
 
@RestController
public class TestController {
          
   
 
    @Autowired
    private TestDao testDao;
 
    @RequestMapping("/test")
    public String getString() {
          
   
        int i = testDao.selectBase();
        return String.valueOf(i);
    }
}

最后看打印输出,getString是测试类的方法名,TestController是类名

joinPoint.getSignature().toString():---》String com.fast.web.controller.TestController.getString()
joinPoint.getSignature().toShortString():---》TestController.getString()
joinPoint.getSignature().toLongString():---》public java.lang.String com.fast.web.controller.TestController.getString()
joinPoint.getSignature().getName():---》getString
joinPoint.getSignature().getModifiers():---》1
joinPoint.getSignature().getDeclaringType():---》class com.fast.web.controller.TestController
joinPoint.getSignature().getDeclaringTypeName():---》com.fast.web.controller.TestController

:—》前面是使用的方法,后面是本次测试输出的结果。

经验分享 程序员 微信小程序 职场和发展