问答详情
源自:2-0 表单验证

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

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

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

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

提问者:栗喵 2017-10-12 09:38

个回答

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

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

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

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

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

    Girl.class.newInstance();

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

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