添加女生时,为什么将原有的参数换成Girl对象也可以呢?

来源:2-0 表单验证

栗喵

2017-10-12 09:38

http://img1.sycdn.imooc.com/59dec75300010e1812170527.jpg

http://img4.sycdn.imooc.com/59dec7560001d08215240761.jpg

这两个参数不是一一对应的么

写回答 关注

2回答

  • 啥也没有
    2017-10-12 13:09:48
    已采纳

    如果参数是对象的话,Spring会将url中的参数自动装配到这个对象中,前提是这个类要有一个无参的构造方法,且成员变量的名称要和url中的参数名称一致,并且设置了set方法。

    例如:Girl类中有一个cupSize的成员变量,URL中有参数cupSize=C,那么Spring就会先创建一个Girl对象的实例,并调用这个对象的setCupSize("C")方法,将信息注入到这个对象中。

    栗喵

    非常感谢!

    2017-10-13 19:14:01

    共 2 条回复 >

  • 啥也没有
    2017-10-12 17:19:13

    Spring 注入时内部使用的应该是反射,

    Girl.class.newInstance();

    内部使用的是这种方式来创建一个实例,需要无参的构造方法。

    至于无参构造方法,我想说的是,如果你在类中定义了有参的构造方法,而未显示编写无参的构造方法,那么编译器不会添加无参的构造方法。

Spring Boot进阶之Web进阶

《2小时学习Spring Boot》之进阶教程,针对Web方面的相关技巧

104039 学习 · 393 问题

查看课程

相似问题