背景:今天再写用户登录的时候,要将从页面获取的用户信息(请求参数)封装为一个User对象,本来用的是request获取请求参数的通用方式一个一个获取用户信息,然后用User对象的set方法封装到User对象中。
但是这样做会有一个问题:当用户信息少(只有用户名、密码等)的时候,一个一个获取并set是可行的。但是,如果用户信息很多(生日、手机号…)的时候,这样做就过于麻烦了,这时候就可以用BeanUtils工具类,它能简化数据封装
再说BeanUtils工具类之前,先说一下JavaBean的概念
JavaBean:标准的Java类
标准Java类
- 类必须被public修饰
- 必须提供空参构造器
- 成员变量必须使用private修饰
- 提供public的setter和getter方法
类的属性和成员变量的区别:
成员变量就不用多说,主要说一下属性大多数情况下, 属性和成员变量是等同的,但实际上,它们不是一个概念: 属性,指setter和getter截取后的产物 例如: 一个类的成员变量是user,那么通过IDEA生成的getter和setter方法就是setUser()和getUser()方法。那么这个类的属性:setUser()-->去掉set得到User-->首字母小写得到user。user就是类的属性 一般情况下IDEA生成的getter和setter方法都是get+成员变量名,所以属性和变量大多数情况下是等同的。
BeanUtils工具类的使用
- 导入BeanUtils工具类的jar包
- 使用request对象的getParameterMap()方法,将请求参数以键值对的形式存储到map集合中
- populate(Object obj,Map map):将map集合的键值对信息封装到对应的JavaBean对象(obj)中
BeanUtils工具类的的其他方法
- setProperty():设置属性值
- getProperty():获取属性值 注意:这两个方法和属性值相关而不是成员变量相关