第十四章:数据绑定

1. Spring 数据绑定使用场景

• Spring BeanDefinition 到 Bean 实例创建
• Spring 数据绑定(DataBinder)
• Spring Web 参数绑定(WebDataBinder)

2. Spring 数据绑定组件

• 标准组件
• org.springframework.validation.DataBinder
• Web 组件
• org.springframework.web.bind.WebDataBinder
• org.springframework.web.bind.ServletRequestDataBinder
• org.springframework.web.bind.support.WebRequestDataBinder
• org.springframework.web.bind.support.WebExchangeDataBinder(since 5.0)
• DataBinder 绑定方法
• bind(PropertyValues):将 PropertyValues Key-Value 内容映射到关联 Bean(target)中的属性上
• 假设 PropertyValues 中包含“name = 小马哥”的键值对,同时 Bean 对象 User 中存在 name
属性,当 bind 方法执行时,User 对象中的 name 属性值将被绑定为“小马哥”。

3. Spring 数据绑定元数据
4. Spring 数据绑定控制参数

• DataBinder 绑定特殊场景分析
• 当 PropertyValues 中包含名称 x 的 PropertyValue,目标对象 B 不存在 x 属性,当 bind 方法执行时,
会发生什么?
• 当 PropertyValues 中包含名称 x 的 PropertyValue,目标对象 B 中存在 x 属性,当 bind 方法执行时,
如何避免 B 属性 x 不被绑定?
• 当 PropertyValues 中包含名称 x.y 的 PropertyValue,目标对象 B 中存在 x 属性(嵌套 y 属性),当
bind 方法执行时,会发生什么?

5. Spring 底层 Java Beans 替换实现
6. BeanWrapper 的使用场景

• BeanWrapper
• Spring 底层 JavaBeans 基础设施的中心化接口
• 通常不会直接使用,间接用于 BeanFactory 和 DataBinder
• 提供标准 JavaBeans 分析和操作,能够单独或批量存储 Java Bean 的属性(properties)
• 支持嵌套属性路径(nested path)
• 实现类 org.springframework.beans.BeanWrapperImpl

7. 课外资料
8. DataBinder 数据校验

• DataBinder 与 BeanWrapper
• bind 方法生成 BeanPropertyBindingResult
• BeanPropertyBindingResult 关联 BeanWrapper

9. 面试题精选

1、Spring 数据绑定 API 是什么?
答:org.springframework.validation.DataBinder
2、BeanWrapper 与 JavaBeans 之间关系是?
答: • Spring 底层 JavaBeans 基础设施的中心化接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值