SpringMVC 参数注入

写一个web service, 总是400. 说是request有问题,server不识别。然而检查了很多次都没问题。最终问题指向spring对参数的解析和注入。

一个controller中可以自定义参数,只要参数和request的参数匹配就会自动注入。针对自定义POJO,显然是spring帮忙给new了一个新的,然后把参数扔进去。

测试发现,不是setter方法的问题。

最后,发现自己在POJO中添加了个构造函数但却么有声明无参构造函数,这样导致spring无法调用无参构造函数,于是bad request就产生了。至于深层次的原因,需要深入resolve源码去查看。

问题原因:

1. 没有对原理深入理解,没有对源码熟悉。

2. log显示问题,由于使用cmd打开的tomcat,错误输出很不友好,几乎不会去看。虽然很费解为什么公司的架构师设计控制为cmd,但目前只能认真去看了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WindCoder

Java设计模式学习笔记—桥接模式

文章最后“Java设计模式笔记示例代码整合”为本系列代码整合,所有代码均为个人手打并运行测试,不定期更新。本节内容位于其Bridge包(package)中。

761
来自专栏web前端教室

vue.js的插槽 - slot 是啥?要我说,它就是个“形参”

slot应该是属于vue的模板语法的一部分,只不过它更灵活。看网上各种教程,好像对它各种不太理解。从模板的角度来讲,一个静态的东西被搞成了“动态”的感觉,那么就...

20110
来自专栏大史住在大前端

野生前端的数据结构基础练习(4)——字典

以键值对形式存储数据的数据结构,在Javascript中更多地是直接使用对象,一般只在有排序需求的场景下会用到本篇中构造的Dictionary类,因为对象属性是...

541
来自专栏Java架构师学习

十年Java”老兵“浅谈源码的七大设计模式

一个专业的程序员,总是把代码的清晰性,兼容性,可移植性放在很重要的位置。他们总是通过定义大量的宏,来增强代码的清晰度和可读性,而又不增加编译后的代码长度和代码...

36612
来自专栏C语言及其他语言

[每日一题]C语言程序设计教程(第三版)课后习题5.4

题目描述 有三个整数a b c,由键盘输入,输出其中的最大的数。 输入 一行数组,分别为a b c 输出 a b c其中最大的数 样例输入 10 20 30 样...

2874
来自专栏嵌入式程序猿

那些你应该记住的字符串函数

在我们移植的基于freeRTOS的webserver源码里,有很多的字符串处理函数,相信仔细研读过的人应该都注意到,那么你对这些字符处理函数都清楚吗?今天我们就...

2835
来自专栏平凡文摘

Java 8 最佳技巧

1793
来自专栏小詹同学

为什么你的Python代码质量如此不堪……

作者:笑虎(Python爱好者,关注爬虫、数据分析、数据挖掘、数据可视化等) 原文链接:http://codebay.cn/post/7953.html

1334
来自专栏加米谷大数据

Redis数据类型及应用场景

通常我们都把数据存到关系型数据库中,但为了提升应用的性能,我们应该把访频率高且不会经常变动的数据缓存到内存中。Redis 没有像 MySQL 这类关系型数据库那...

1082
来自专栏极客猴

Python 中各种时间类型的转换

我们编码过程中经常需要获取当前时间。当然, 这也离不开对时间类型进行转换运算。本文主要讲解 Python 各种时间类型之间的转换。

842

扫码关注云+社区