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为何物?的更多相关文章

  1. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  2. java web学习总结(二十八) -------------------JSP中的JavaBean

    一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...

  3. JavaBean的用法

    JavaBean是一个可重复使用的软件组件,是用Java语言编写的.遵循一定标准的类. JavaBean是Java Web的重要组件,它封装了数据和操作的功能类,供JSP和Servlet调用,完成数据 ...

  4. JSP复习整理(五)JavaBean使用表单处理数据

    一.先建立用户输入的数据 usingGetparameter.html <!DOCTYPE html> <html> <head> <meta charset ...

  5. JSP复习整理(五)JavaBean生命周期

    一.创建一个JavaBean UserBean.java package jsp.test; public class UserBean { private String userName; priv ...

  6. 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面

    1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...

  7. json、javaBean、xml互转的几种工具介绍

    json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...

  8. 由面试引发的思考:B/S与C/S究竟是何物

    一.现状说明: 就在这金三银四的求职黄金时期,我有幸作为公司的独立技术面试官,拥有最终决定录用权,在倍受上级领导的充分信任下,我也向上级保证,一定要为公司找到合适的人才,就在我满怀信心的情况下面试了一 ...

  9. javabean和jsp动作元素

    model1就是利用了jsp和javabean 的组合来处理问题.jsp页面如果有太多的逻辑代码的话,维护起来和扩展起来是相当的麻烦的.所以jsp的逻辑代码部分都打包到一种java类当中进行编写.这种 ...

  10. J2EE基础之JavaBean

    J2EE基础之JavaBean 1.什么是JavaBean? JavaBean本质上来说就是一个Java类,它通过封装属性和方法成为具有独立功能.可重复使用的,并可以与其他控件通信的组件对象.通过在J ...

随机推荐

  1. Vue学习之--------Vue中自定义插件(2022/8/1)

    文章目录 1.插件的基本介绍 2.实际应用 2.1 目录结构 2.2 代码实例 2.2.1 学校组件(School.vue) 2.2.2 学生组件(Student.vue) 2.2.3 定义的插件 2 ...

  2. 创建Vue工程常用的命令

    创建一个vue项目的步骤 1.创建一个名称为myapp的工程 vue init webpack myapp 2.进入工程目录 cd myapp 3.安装 vue-router npm install ...

  3. 记录一次成功反混淆脱壳及抓包激活app全过程

    记录一次成功反混淆脱壳及抓包激活app全过程 前言 ​ 近期接到一个需求,要对公司之前开发的一款app进行脱壳.因为该app是两年前开发的,源代码文件已经丢失,只有加壳后的apk文件,近期要查看其中一 ...

  4. Linux正则表达式与grep

    bash是什么 bash是一个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令 bash还能从文件中读取linxu命令,称之为脚本 bash支持通配符.管道.命令替换.条件判断等逻辑控制语句 ...

  5. hutool包的DateUtil工具类

    [首先引入依赖 ] <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core& ...

  6. PHY驱动调试之 ---PHY设备驱动(三)

    1. 前言 内核版本:linux 4.9.225,以freescale为例.(部分内容待修改和补充,不一定准确) 2. 概述 上一篇文章讲了控制器的驱动使用的是platform总线的连接方式,本节要讲 ...

  7. Java阻塞队列中的异类,SynchronousQueue底层实现原理剖析

    上篇文章谈到BlockingQueue的使用场景,并重点分析了ArrayBlockingQueue的实现原理,了解到ArrayBlockingQueue底层是基于数组实现的阻塞队列. 但是Blocki ...

  8. 万字 HashMap 详解,基础(优雅)永不过时

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. 在上一篇文章里,我们聊到了散列表的整体设计思想,在后续几篇文章里,我们将以 Jav ...

  9. 【Java SE】Day07 API、Scanner类、Random类、ArrayList类

    一.API 1.概述: API(Application Programming Interface),应用程序编程接口 Java API:程序员的字典,是类的说明文档 2.使用步骤 帮助文档:JDK_ ...

  10. 【每日一题】【双指针/栈/reverse】2022年2月19日-判断是否为回文字符串

    给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文.如果是回文请返回true,否则返回false.   字符串回文指该字符串正序与其逆序逐字符一致.   数据范围:0 < n \l ...