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 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

Python]新手写爬虫全过程(已完成)

今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x。数...

3579
来自专栏儿童编程

Scratch中“面向对象”思想的体现——儿童积木编程与代码编程的联系

Scratch是MIT面向少年儿童设计的一款搭积木式的编程软件。对零基础的少年儿童(尤其针对8-16岁)及零基础的成年人普及编程、编程入门具有重大意义。对于教育...

603
来自专栏IMWeb前端团队

CrossBridge

介绍 CrossBridge是Adobe FlasCC的开源版本,它提供了一个完整的C/C++开发环境,目的是把C/C++程序编译成Flash程序,运行于Fl...

1880
来自专栏落影的专栏

研读《程序员的自我修养—链接、装载与库》

前言 《编译与链接过程的思考》 《静态库与动态库的思考》 在写完上面两篇思考之后,仔细研读《程序员的自我修养—链接、装载与库》,对编译、链接、装载、静态库和...

3937
来自专栏自动化测试实战

RF第三讲--定义用户关键字

3425
来自专栏JackeyGao的博客

Python 和 Golang 一点愚见

Python 之所以有很好开发效率是因为语法简单,灵活。有大量的轮子可供选择, 文档支持非常棒。 我用Python编程的时候,基本成了一把梭“拿起键盘复制粘贴,...

772
来自专栏Python小屋

Python tkinter版猜数游戏

程序启动后,首先需要启动一次游戏并设置数值范围和猜测次数,然后可以猜数并输入,程序会根据实际情况进行大小提示,退出程序时提示战绩,例如共玩几次和成功几次。 im...

2885
来自专栏Golang语言社区

Golang语言goto语句

在Go编程语言中的goto语句提供无条件跳转从跳转到标记声明的功能。 注意:使用goto语句是高度劝阻的在任何编程语言,因为它使得难以跟踪程序的控制流程,使程序...

3399
来自专栏较真的前端

互动交流——第2期

小编:MDN是一个供Web开发者学习的网站,里面的知识点够全够深,个人觉得比W3cSchool强很多。。。

833
来自专栏NetCore

[收藏]几个常用的用正则表达式验证字符串的函数

<!-- name,phone,age,money checked--> <script language=javascript runat=server> ...

1808

扫描关注云+社区