San*_*jay 4 spring spring-mvc spring-boot
Spring文档告诉我们,如果我们使用Java 8 --parameters flag编译项目,我们可以跳过在@PathVariable等注释中给出参数名称.这意味着,我们可以使用@PathVariable id而不是@PathVariable("id") id.
在Spring Boot Maven应用程序中,我很想知道如何告诉编译器使用参数标志.它是默认打开的吗?我们需要在pom.xml中提供一些东西吗?
在Spring Boot 2.0中,--parameters默认情况下应启用该标志.请参阅yuranos87的回答.
对于旧版本,在pom.xml文件中,您可以将Java编译器选项指定为Maven编译器插件的参数:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我不记得需要在我的任何项目中明确地做到这一点.也许你只需要添加spring-boot-starter-parent(我知道,有时可能不是一个选项).否则,Spring已经为您处理了一切.
在Spring Boot文档中多次提到它.例如,这里:
要允许将输入映射到操作方法的参数,应使用-parameters编译实现端点的代码.如果您使用的是Spring Boot的Gradle插件,或者您使用的是Maven和spring-boot-starter-parent,则会自动执行此操作.
UPDATE
Spring Boot 的方式非常简单(在spring-boot-parent和spring-boot-starter-parent poms中):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<parameters>true</parameters>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4148 次 |
| 最近记录: |