Java Spring MVC如何转换@RequestParam值?

Java Spring MVC如何转换@RequestParam值?,java,spring,spring-mvc,annotations,Java,Spring,Spring Mvc,Annotations,我是Spring框架的新手,作为一种症状,我希望尽可能简单地采用它的WebMVC部分,因此我使用注释函数来处理Spring。在过去,我使用: int value=Integer.valueOf(request.getParameter(“numberValue”)要从参数中提取值,显式转换getParameter()返回的字符串很有帮助,我注意到当我使用Spring的术语时:@RequestParameter(“numberValue”)int numVal 转换是自动处理的。这很好,但对我来说

我是Spring框架的新手,作为一种症状,我希望尽可能简单地采用它的WebMVC部分,因此我使用注释函数来处理Spring。在过去,我使用:
int value=Integer.valueOf(request.getParameter(“numberValue”)

要从参数中提取值,显式转换
getParameter()

返回的字符串很有帮助,我注意到当我使用Spring的术语时:
@RequestParameter(“numberValue”)int numVal

转换是自动处理的。这很好,但对我来说是个“黑匣子”。我试着在这里或Spring文档中查看问题,但所有这些信息都涉及对象的自定义转换(如转换器)或格式问题。我只想知道Spring在默认情况下如何处理
@RequestParam
的基本类型转换

我注意到当我使用Spring的术语时: @RequestParameter(“numberValue”)int numVal处理转换 自动地

这里您正在寻找类型转换

根据本文件中给出的spring文档

从请求(包括请求)中提取的基于字符串的值 参数、路径变量、请求头和cookie值可能会 需要转换为方法参数的目标类型或 字段(例如,将请求参数绑定到 @ModelAttribute参数),它们被绑定到。如果目标类型不是 字符串时,Spring会自动转换为适当的类型。全部的 支持int、long、Date等简单类型


也许是题外话:如果我忘了传递参数,而我正试图将它存储在一个原语中呢。我认为根据经验,我们应该总是将参数存储在字符串或任何包装类中。如果您实现了,您可以执行任意转换。实现
转换器
接口并用
@Component
注释类就足够了(如果您使用的是组件扫描)。春天照顾其余的。