Java bean是个什么概念?
看到这个提问一定要回答一下 , 因为我在头条的系列文章即将开启Java Web部分的内容 , 今天就以Java Bean概念作为一个切入点 。如果单独描述Javabean的概念无法完成对Java Bean的立体式了解 , 我将从Java Bean的概念、规则、应用场景以及扩展应用来全面分析它 。JavaBean是封装了一定功能的实体 , 是Java开发中比较常见的功能组件之一 。
【Javabean的用户注册验证实例,javabean】JavaBean属于Domain Object , 同时大部分的Java Bean也属于Plain Object 。下面把Java Bean按照定义及应用场景进行详细描述:普通JavaBeanJavaBean如果没有特指的情况下 , 通常就是普通JavaBean 。简单的说JavaBean就是遵循一定编写规则的Java类 , JavaBean的编写规则通常有三点要求:类的范围限定要定义为public 。
类的成员属性的范围限定不能为public(通常要进行封装) 。要定义一个无参的构造器(不建议使用默认的构造器 , 建议显式手写) 。通常JavaBean要封装系统中的重要状态及功能 , 在Web MVC开发模式中 , JavaBean的任务就是描述Model层的应用 。看一下在Model2结构下的图示:可以说web开发中的数据状态和功能实现都由Model层(JavaBean)来进行描述 , 我们在看一下MVC结构下的系统时序图:这是Java Web处理中一个比较常见的时序图 , 图中从用户角度出发来呈现一个完整的请求处理过程 , 其中经历了以下几个重要的步骤:用户提交数据请求 , 请求至Servlet(标准的web开发组件 , 也可以使用拦截器等代替一部分功能 , 比如在Struts2中的应用)系统验证数据并进行更能分发调用业务组件完成功能 , 这部分的概念非常重要 , 是调用不是自己完成(虽然可以) , 这个业务组件通常就是指的JavaBean 。
跳转至View层组件(可以是JSP等)提取出Model层(JavaBean)的数据以呈现状态的变化一次请求结束通常JavaBean还要与系统数据库进行交互 , 一般情况下一个JavaBean要对应一条存储记录 , 这时候JavaBean就需要与DAO(数据操作模式)进行交互 , 看一下架构图:关于DAO的内容我将会在以后的文章中进行详细描述 , 在这里大家知道它是进行数据库操作的映射层组件就可以了 。
企业级JavaBean(EJB)严格上说企业级JavaBean和JavaBean已经不是一个概念了 , 为了描述的完整性 , 我把这部分内容简答描述一下 , 以后我在头条的文章中会单独写关于EJB的文章 , 到时候会给出详细的描述 。在上一个描述JavaBean与DAO进行沟通的结构图中 , 我们发现Model始终位于Web container(web容器)中 , 为了提高系统的处理能力 , EJB的概念出现了 。
简单的说EJB就是为Bean单独提供了运行的容器 , 以解决大用户并发访问带来的压力 , 把处理业务组件的Bean从Web容器中解放出来 , 也减轻了Web容器的负担 。我们看一下EJB的一个典型部署图(承接上一个图):图中的Model层已经从Web container中解放出来了 , 使用一个单独的EJB container来管理 , 也可以叫“池化” 。
其实Spring的功能和EJB容器的功能是一样的 , 只不过它更轻量级一些 。如果需要分布式部署服务器(在大型应用中比较常见) , 可以使用JNDI的解决方案 , 我们看一下使用JNDI后的结构图:使用JNDI以及RMI完成了服务器的分布式部署 , 这种解决方案完全是基于Java自身技术来解决的 , 现在的分布式框架你把它剖析开以后 , 你会发现都是这种结构的扩展和优化 , 所以分布式开发本身并不复杂 。
推荐阅读
- 国内外汽车的风洞发展现状,汽车风洞
- 家庭用车推荐,公认省油的几款家用车推荐
- 诺基亚8000测评,6300/8000
- dToF助力物理世界和虚拟世界的连接,dt
- 迪哥解说我的世界,我的世界第二季441
- 尼康相机报价,尼康的单反相机多少钱
- s100fs,数码相机富士S100fs怎么样在辽宁的报价
- 1080p手机,国内最早做1080P的手机是谁
- 华硕笔记本那款好,我该买哪个型号的笔记本电脑
- 扭蛋相机,手机拍照软件的图标是n的有谁知道这种软件叫什么吗