①为什么需要自定义Converter?
比如原来是直接以pet.name等名字提交数据,底层converter可以直接级联绑定,将pet.name这个值转换类型后直接赋给person对象的pet属性对象的name属性
但是如果直接用pet作为提交数据名的话,以“ ,”方式分隔开值,将pet对象的name属性和age属性的值同时传递给Converter时,不能够实现级联绑定(显示数据绑定异常),将阿猫和3这两个值分别赋给pet.name和pet.age,所以这时候就需要自定义一个Converter来实现这个形式的级联绑定
②@FunctionalInterfacepublic interface Converter<S, T>(这是所有Converter的总接口)