首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

参数注解所引发的思考

在刚接触Spring MVC的时候,个人认为类似@Param注解的作用是用来匹配参数,像 Spring MVC的Controller层的方法是通过反射来实现的,细心的小伙伴们如果对反射机制比较了解, 就会知道通过反射得到的方法参数通常是arg0、arg1......这种格式,出现这种结果的原因是:设计人员认为保留参数名称,不会带来任何好处,只会占用额外的空间,所以出于性能考虑,就没有保留参数名称。所以在刚工作那会我一直认为注解值就是为了匹配参数名称的, 甚至每次注解上设置的别名都不敢和参数名不一样,但是在后续工作中,我们会发现不使用注解,只要请求的参数和方法参数名称相同,仍然是能匹配上的,匹配上的原因也是本篇文章要说明的重点。

02

给编译器看的注释——「注解」

计算机的世界是由 0 和 1 构成的,为了方便人类与计算机沟通,先贤们发明了编程语言,通过编译器将这些语言翻译成机器可以看懂的机器语言。为了方便人类更好的阅读代码,避免不必要的 996,几乎所有的编程语言都提供「注释」的特性,在某种程度上,这些「注释」的存在就是“废话”,因为编译器在执行到这里的时候是直接忽略的,「注释」虽然是人类写的,却也只是为了给“愚蠢”的人类看的。然而,无论哪个时代都有前行者,他们所做的不过是让我们的代码看起来更简洁,更有时代的进步感,因此必须要让人类与机器的沟通更进一步了,而这就是写给编译器的注释——「注解」。

01
领券