JavaBean为何物?
JavaBean为何物?
摘要:初学SSM框架之后,我对JavaBean这个东西开始有了简单的接触,在很久以前听见JavaBean这个词一直以为是一个非常高大上的东西,但是在仔细研究之后发现其本质并没有那么复杂,这篇笔记将主要对JavaBean进行一个简单的概念上的解释。
JavaBean严格意义上将不算是一门技术,而算是一种约定,一种概念。我们在初学Java的时候总会学习面向对象这个概念,而老师在讲面向对象这个概念的时候总会举一些例子帮我们理解什么是对象,比如:人类是类,人类中的一个个体就是对象,人类的具备的所有属性和行为封装在一个人类的集合概念中,这个抽象的概念就是类,而抽象概念中一个具体的个体就是对象。面向对象的思想来自于博物学中的归类,是对世界万物的一个仿生。这样理解确实能够让我们很好的理解什么是类,什么是对象,但是也为我们造成了一个误区,这会让很多初学者认为:Java类总是对应了生活中确实存在的一种物体的集合,如汽车类,衣服类等等。
而在我们初学JavaBean的时候,有些老师会为了让我们先老实的用,而不是因为思考进入误区,而将JavaBean解释成:Java类,Java类就是JavaBean,这时真正的误差就出现了,如果在这里出现了思想误差,在以后的学习中就会失之毫厘谬以千里。
JavaBean为何物?
JavaBean是类,但是类不一定是JavaBean,首先我们应该明确在Java语言中,一切都是基于类的,尽管这么说有些夸张,但是在大部分的框架中,Java的信息传递都是通过类来传递的,如SSM项目,就连最基本的Servlet框架,我们也会潜意识的使用类来进行信息的传递,如我们想要从数据库和后台向前台传递一个人的信息,我们通常会先声明一个人类,然后new一个新的人类对象,将信息封装在对象中再传递这个对象,这样一来我们就直接将所有信息传递到了前台,这样做在信息传递的时候非常干净利落,在数据接收端也是非常方便,就像我们从网上买了一堆东西,这些东西打包一次送来总比拆成多个小件货然后零散的发送到各个快递点让我们再去拿好得多。
JavaBean就是在Java项目中负责进行信息传递的一种类,需要注意的是其针对的东西并不是项目中的角色,而是信息实体,它封装的往往是一些有相关性的信息,这些信息按照一定的方式组合封装,可以表达一种存在实际含义的东西,同时这些信息的传递通常会同时出现,如:登录信息中的账号信息与密码信息,文章信息中的创建时间,文章内容,作者等信息。我们发现这些信息集合并不总是表示一个确实存在的实体,如登录信息,但是它一定是一个信息实体,它是一种有意义的信息组合,这些信息组合经常性的同时出现,而进行一次有意义的行为,这样的有规律的,信息种类固定的信息组合被封装到一个类中,我们就称之为:JavaBean。
JavaBean因为专职信息传递,因此其有着严格的定义:这个Java类必须具有一个无参的构造函数;属性必须私有化;私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。只有符合这样的一个约定,一个类才能称之为JavaBean,这就是JavaBean。
需要注意的是尽管JavaBean表示的往往不是一个角色,但是它大部分的时间还是在做角色信息的传递,毕竟我们的项目中通常做的事情就是对各种各样的角色的信息进行操作,如展示用户信息,修改商品信息等。因此我们在使用的时候一定要时刻提醒自己,尽管我们现在定义的一个JavaBean就是在表示项目中的一个角色,但是,JavaBean的本质含义不是项目中的角色,而是项目中的信息实体,是一个有意义的信息的集合,这个信息的集合有时可以表示一个角色,有时也可以表示其他的有意义的信息。
JavaBean为何物?的更多相关文章
- java web学习总结(二十九) -------------------JavaBean的两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...
- java web学习总结(二十八) -------------------JSP中的JavaBean
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...
- JavaBean的用法
JavaBean是一个可重复使用的软件组件,是用Java语言编写的.遵循一定标准的类. JavaBean是Java Web的重要组件,它封装了数据和操作的功能类,供JSP和Servlet调用,完成数据 ...
- JSP复习整理(五)JavaBean使用表单处理数据
一.先建立用户输入的数据 usingGetparameter.html <!DOCTYPE html> <html> <head> <meta charset ...
- JSP复习整理(五)JavaBean生命周期
一.创建一个JavaBean UserBean.java package jsp.test; public class UserBean { private String userName; priv ...
- 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...
- json、javaBean、xml互转的几种工具介绍
json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...
- 由面试引发的思考:B/S与C/S究竟是何物
一.现状说明: 就在这金三银四的求职黄金时期,我有幸作为公司的独立技术面试官,拥有最终决定录用权,在倍受上级领导的充分信任下,我也向上级保证,一定要为公司找到合适的人才,就在我满怀信心的情况下面试了一 ...
- javabean和jsp动作元素
model1就是利用了jsp和javabean 的组合来处理问题.jsp页面如果有太多的逻辑代码的话,维护起来和扩展起来是相当的麻烦的.所以jsp的逻辑代码部分都打包到一种java类当中进行编写.这种 ...
- J2EE基础之JavaBean
J2EE基础之JavaBean 1.什么是JavaBean? JavaBean本质上来说就是一个Java类,它通过封装属性和方法成为具有独立功能.可重复使用的,并可以与其他控件通信的组件对象.通过在J ...
随机推荐
- JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...
- 忘记了99乘法表啥样的了,python打印下看看
for i in range(1,10): for j in range(1, i+1): if i == j: print(j, "x", i, "=", i ...
- 齐博x1第四季《模块插件的制作》系列21-公共表单器的参数选项(7)
password 密码类型 和text一样,只不过type类型是password,密码类型输入时,显示星号.即Html中的密码框类型 icon 字体图标类型 和列表页一样,把css的字体图标引入到了表 ...
- golang中的nil接收器
索引:https://waterflow.link/articles/1666534616841 我们先看一个简单的例子,我们自定义一个错误,用来把多个错误放在一起输出: type CustomErr ...
- R数据分析:扫盲贴,什么是多重插补
好多同学跑来问,用spss的时候使用多重插补的数据集,怎么选怎么用?是不是简单的选一个做分析?今天写写这个问题. 什么时候用多重插补 首先回顾下三种缺失机制或者叫缺失类型: 上面的内容之前写过,这儿就 ...
- [zoj] 4178. Killing the Brute-force
题目 Chenjb is the task author of the 71-st Zhejiang Provincial Collegiate Programming Contest. He cre ...
- Go语言核心36讲01
你好,我是郝林,今天我分享的内容是:0基础的你,如何开始入门学习Go语言. 1. 你需要遵循怎样的学习路径来学习Go语言? 我们发现,订阅本专栏的同学们都在非常积极的学习和讨论,这让我们非常欣慰,并且 ...
- 基于python的数学建模---二维插值的三维图
import numpy as np from mpl_toolkits.mplot3d import Axes3D import matplotlib as mpl from scipy impor ...
- 聊聊Go里面的闭包
以前写 Java 的时候,听到前端同学谈论闭包,觉得甚是新奇,后面自己写了一小段时间 JS,虽只学到皮毛,也大概了解到闭包的概念,现在工作常用语言是 Go,很多优雅的代码中总是有闭包的身影,看来不了解 ...
- 《HelloGitHub》第 80 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...