,环境:Springboot2.4.12,@Controller或@ControllerAdvice类可以有@InitBinder方法来初始化WebDataBinder的实例,这些方法可以:,@InitBinder方法可以注册控制器特定的java.bean.PropertyEditor或Spring Converter和 Formatter组件。另外,你可以使用MVC配置在全局共享的FormattingConversionService中注册Converter和Formatter类型。,@InitBinder方法支持许多与@RequestMapping方法相同的参数,除了@ModelAttribute(命令对象)参数。通常,它们是用WebDataBinder参数(用于注册)和一个void返回值声明的。,注意以下几点:,在上面的示例中注册了一个类型转换器从字符串转换为Long类型 并且在原来值基础上增加了666L。,在上面的Controller示例中,参数的解析器是RequestParamMethodArgumentResolver。,调用父类的resolveArgument方法。,在上面执行流程中,我们知道获取了一个WebDataBinder对象和由@InitBinder 注解的方法的调用执行。接下来就是进行类型的转换。,以上就是参数绑定及类型转换的过程。
© 版权声明
文章版权归作者所有,未经允许请勿转载。