JAVA全系列 教程
3762个小节阅读:7092.4k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
数据绑定DataBinder是Spring框架核心功能之一。但是数据绑定功能属于底层功能,很多程序员在学习Spring框架,甚至用了几年Spring框架都没有使用过。但是想要真正的了解透Spring框架,深入Spring框架底层原理,数据绑定功能确是必学知识点之一。
Spring框架中数据绑定分为三个具体功能
我们将分为三个小章节分别来讲解这三个具体功能,这三个功能讲解完成,数据绑定就讲解完成了。
Spring框架DataBinder中属性值绑定主要的两个具体应用场景:
Bean属性值绑定底层使用PropertyValues接口进行实现。接口实现了Iterable接口
xxxxxxxxxx
public interface PropertyValues extends Iterable<PropertyValue>
里面提供了几个方法。
接口只有一个实现类
xxxxxxxxxx
public class MutablePropertyValues implements PropertyValues, Serializable
MutablePropertyValues里面提供了有参构造方法,在实例化时直接进行数据绑定。
也可以实例化后,使用addPropertyValue添加一个属性值
也可以实例化后,使用addPropertyValues添加多个属性值。
数据绑定时,要保证属性名和Map的Key对应。Map中Value值类型不用必须和类属性类型对应。类型转换可以由Spring框架完成。
xxxxxxxxxx
@Test
void testPropertyValue(){
People peo= new People();
Map<String,Object> map = new HashMap<>();
map.put("id","1");
map.put("name","smallming");
PropertyValues pv =new MutablePropertyValues(map);
DataBinder dataBinder = new DataBinder(peo,"people");
dataBinder.bind(pv);
System.out.println(peo);
}