在使用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
:—》前面是使用的方法,后面是本次测试输出的结果。