这是获取方法参数名称最可靠和推荐的方式。自从 Java 8 开始,javac 编译器引入了 -parameters 标志。当你编译 Java 代码时加上这个标志,编译器会将方法参数的真实名称存储在 .class 文件中。
Spring MVC 能够利用反射机制读取这些存储在 .class 文件中的参数名称。
你需要根据你的构建工具(Maven 或 Gradle)在构建配置中添加相应的编译器参数。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<parameters>true</parameters>
</configuration>
</plugin>
</plugins>
</build>
tasks.withType(JavaCompile) {
options.compilerArgs << '-parameters'
}
如果你的项目使用了 Java 8 或更高版本,并且配置了 -parameters 标志,那么 Spring MVC 可以直接通过反射获取到 projectId, path, content 这些参数的名称。