一、JavaBean
(一)什么是JavaBean
JavaBean是一个遵循特定写法的普通java类,也称之为简单java对象–POJO(Plain Ordinary Java Object),是Java程序设计中一种设计模式,是一种基于 Java 平台的软件组件思想。
(二)JavaBean规范
1、有无参的构造函数
2、成员属性私有化
3、封装的属性如果需要被外所操作,必须编写public类型的setter、getter方法
4、可以有get/set方法的成员,还可以没有成员,只有get/set方法。属性名称由get/set方法来决定!而不是成员名称!
(三)为什么需要使用Javabean
使用javaBean的好处就是:封装,重用,可读!
下面引用知乎一段回答:
1 | JaveBean你可以理解为一辆货车,在你的java端和web页面进行数据传递的载体,你当然可以每个变量单独传递,或者使用集合传递,但是javabean可以使你的数据更有可读性,方便开发时明确变量的意义,也使其他阅读你代码的人能直接你的意图 |
二、java中的内省概述
(一)什么是java中的内省
内省(Introspector) 是Java中提供的一套API,用来访问JavaBean 属性的 getter/setter 方法,从而操纵JavaBean的属性。内省机制是通过反射来实现的。
(二)为什么需要内省
内省的出现有利于了对类对象属性的操作,减少了代码的数量。
三、如何使用内省
现有一个如下的JavaBean对象
1 | public class Person { |
(一)给bean对象中的name属性赋值
1 | public class Demo1 { |
(二)将Map数据封装到User对象中
User:
1 | public class User { |
1 | public class Demo3 { |
(三)使用commons-beanutils来操作bea对象
提到内省,不能不提commons-beanutils这个工具。它底层使用了内省,对内省进行了大量的简化!
使用beanutils需要的jar包:
1、commons-beanutils.jar:点击前往下载
2、commons-logging.jar:点击前往下载
使用BeanUtils给属性赋值
1 |
|
使用BeanUtils来获取属性
1 |
|
使用将Map数据封装到User对象中
1 |
|
注意:Map中的键必须和JavaBean(即:此处的User类)的属性名相同
(四)在BeanUtils的基础上再进行封装
在方法只需传递需要封装的map对象和JavaBean对象的Class对象
1 | /** |
1 |
|
该方法可以非常方便的将map转换为bean对象。
如:在处理表单提交过来的参数时,就可以将其方便的转换。
1 | User bean = toBean(request.getParameterMap(), User.class); |
四、JSP中与JavaBean有关的标签
1 | <jsp:useBean>:创建或查询bean |
1 | <jsp:setProperty> |
1 | <jsp:getProperty> |
Java新手,若有错误,欢迎指正!