作者:吴雨醒 | 来源:互联网 | 2023-07-07 10:41
原标题:SpringAOP中通过JoinPoint获取参数名和值
SpringAOP中通过JoinPoint获取参数名和值
在Java8之前,代码编译为clawww.yii666.comss文件后,方法参数的类型固定,但是方法名称会丢失,方法名称会变成arg0、arg1….。在Java8开始可以在class文件中保留参数名。
public void tet(JoinPoint joinPoint) {
www.yii666.com
Ob文章来源站点https://www.yii666.com/ject[] args = joinPoint.getArgs();
String[] argNames = ((MethodSignature)joinPoint.getSignature()).getParameterNames();
}
注意:
IDEA 只有设置了 Java 编译参数才能获取到参数信息。并且jdk要在1.8及以上版本。
Maven中开启的办法
增加compilerArgs 参数
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>${maven_compiler_plugin_version}version>
<configuration>
<source>${java_source_version}source>
<target>${java_target_version}target>
文章来源地址44018.html <encoding>${file_encoding}encoding>
<compilerArgs>
<arg>-parametersarg>
compilerArgs>
configuration>
plugin>
<文章来源地址44018.html;/plugins>
Eclipse中开启的办法
Preferences->java->Compiler
下勾选Store information about method parameters
选项。
这样在使用eclipse编译java文件的时候就会将参数名称编译到class文件中。
来源于:SpringAOP中通过JoinPoint获取参数名和值