博客
关于我
springmvc之如何确定目标方法Pojo类型的参数?
阅读量:478 次
发布时间:2019-03-06

本文共 755 字,大约阅读时间需要 2 分钟。

SpringMVC在确定目标方法POJO类型入参的过程中,遵循以下步骤:

  • 确定Key:首先,SpringMVC检查POJO参数是否使用了@ModelAttribute注解。如果使用了,Key由注解的value属性值决定;如果未使用,则Key为POJO类名的第一个字母小写。这一步确保了Key的准确性和一致性。

  • 查找ImplicitModel中的Key:SpringMVC在ImplicitModel中查找与Key匹配的对象。如果找到对应的对象,直接将其作为方法入参。这一步利用了前置处理器的存储机制,确保数据的高效获取。

  • 检查SessionAttributes注解:如果ImplicitModel中未找到对应的对象,SpringMVC检查Handler是否使用了@SessionAttributes注解。若使用了,并且SessionAttributes的value中包含Key,SpringMVC从HttpSession中获取对应的值作为入参。这一步确保了在Stateless方法中的状态维护。

  • 创建POJO参数:如果Handler未使用@SessionAttributes注解,或者SessionAttributes的value中不包含Key,SpringMVC通过反射创建POJO类型的参数。这一步自动处理了参数类型的检测和值的获取,减少了手动配置的需求。

  • 保存Key和值:SpringMVC将确定的Key和对应的值保存到ImplicitModel中,进而保存到请求范围内。这一步确保了数据的持久化和可用性,便于在后续处理中重用。

  • 通过以上步骤,SpringMVC确保了请求参数与方法参数的高效、准确地映射和转换,支持灵活的数据绑定需求。这种机制不仅提升了开发效率,也为应用的扩展性和维护性提供了有力支持。

    转载地址:http://mcsbz.baihongyu.com/

    你可能感兴趣的文章
    npm ERR! ERESOLVE could not resolve报错
    查看>>
    npm ERR! fatal: unable to connect to github.com:
    查看>>
    npm ERR! Unexpected end of JSON input while parsing near '...on":"0.10.3","direc to'
    查看>>
    npm ERR! Unexpected end of JSON input while parsing near ‘...“:“^1.2.0“,“vue-html-‘ npm ERR! A comp
    查看>>
    npm error Missing script: “server“npm errornpm error Did you mean this?npm error npm run serve
    查看>>
    npm error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装
    查看>>
    npm install CERT_HAS_EXPIRED解决方法
    查看>>
    npm install digital envelope routines::unsupported解决方法
    查看>>
    npm install 卡着不动的解决方法
    查看>>
    npm install 报错 EEXIST File exists 的解决方法
    查看>>
    npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
    查看>>
    npm install 报错 Failed to connect to github.com port 443 的解决方法
    查看>>
    npm install 报错 fatal: unable to connect to github.com 的解决方法
    查看>>
    npm install 报错 no such file or directory 的解决方法
    查看>>
    npm install 权限问题
    查看>>
    npm install报错,证书验证失败unable to get local issuer certificate
    查看>>
    npm install无法生成node_modules的解决方法
    查看>>
    npm install的--save和--save-dev使用说明
    查看>>
    npm node pm2相关问题
    查看>>
    npm run build 失败Compiler server unexpectedly exited with code: null and signal: SIGBUS
    查看>>