`
younglibin
  • 浏览: 1210885 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaBean到底是个什么东西

阅读更多

1.JavaBean与EJB
(1)JavaBean与EJB规范在以下方面有共同的目标:通过标准的设计模式推广Java程序代码,提升开发过程和开发工具之间的重复运用性可携性.但是这两种规格的原始问题却是为了解决不同的问题.
定义于JavaBean组件模型中的标准规范,被设计来产生可重复运用的组件,而这些组件通常被用于IDE开发工具,而且通常是可视化组件,当然并不一定是可视化组件.
(2)EJB规范所定义的组件模弄,刚是用来开发服务端的Java程序,由于EJB可能执行在不同的服务器平台上,包括无图形的大型主机上,所以EJB无法使用类似AWT或SWING之类的图形化程序库.
2.JavaBean与类库的区别:
(1)并不是所有有用的模块都必须转化成Bean.Bean主要是能被用来可视化操作去完成一些效果.
(2)类库是一个提供函数操作给编程者的一个有效操作,但是并不能从可视化操作中来获益.
(3)举个例子来说:提供JDBC数据库访问的API作为一个类库比作为一个bean要好,因为JDBC的核心是用一个可编程的API,并不是能够直接展现于可视化操作.然而,写一个数库库访问Bean在JDBC的顶层还是有意义的.例如,你可以写一个能定制的"Select"bean以助于用户去组成一个查询语句,并且程序运行时用JDBC去运行这个查询语句,并显示结果集.
3.JavaBean与可视化编程
3.1可视化编程
(1)通过可视化编程的工具如VB,Delphi等,将组件从组件板上拖拉至表单上,当你进行拖拉时,程序开发工具开始为你写代码,这些代码让这个组件在程序执行时得以产生出来.
(2)只是将组件拖拉到表单上,通常还不足以完成程序,通常你得改变组件的性质如颜色,文本,连接的数据库等.设计期间可被修改的性质叫"属性",佻可以在程序开发工具中修改组件的属性,被建造出来,其配置会被存储起来,每当程序执行时,这些设定便能够回复.
(3)在设计期间,可视化组件的一总分由事件来表示,意味着这个组件上可以发生这些事情.
(4)程序开发工具会使用反射机制("reflection")机制动态的查询组件的内容,并找到该组件所支持的属性(properties),和事件(Event),知道这些信息后,它便能够显示其属性并允许你加以改变,同时显示可用事件.
3.2JavaBean
在以上的可视化编程中,可以看出,组件是一段程序代码,通过被存为class内,关键在程序开发工具如何发现组件的属性和事件.VB和Delphi都是通过某种机制来实现这点的,而Java则通过JavaBeans将可视化组件开发带进了一个更高的境界,因为一个Bean就是一个Class.针对以上的内容,JavaBean有如下的规则
(1)针对一个名为xxx的属性,你通常要写两个函数,getXxx()和setXxx().
(2)你可以用get/set方式来处理boolean,可以用is来代替get.
(3)Bean的一般函数不需要遵守上述的命名规则,但是需要为public.
(4)对于事件,你可以使用Swing的监听器作法来处理.
3.3JavaBean的关键技术
(1)Bean构架最关键的一部分是发生在将bean从组件盘palette拖至表单(form)之际,程序开发工具能够产生Bean(如果有default构造函数,就办得到),然后在缺乏Bean源代码的情况下,提取出"产生属性工作表(property sheet)"和事件处理程序的所有必要的信息.
(2)Java的reflection可以让我们找到任何一个未知类的所有函数,reflection机制用来解决Bean的问题,十分完美,不需要和其它可视化语言一样动用额外的语言关键字.**其实上reflection机制会被加到Java中的主要原因之一便是为了支持Beans(当然reflection也为对象的序列化(Serialization)和远端方法调用(remote method invocation)提供了必要的技持).所以,你可能会预期,程序开发工具的设计者应该会在每个Bean身上使用reflection机制,查找其函数,找出bean的属性与事件.
(3)Java的设计者希望提供一个标准工具,不但让Bean更易使用,也为产生更复杂的Bean提供标准途径.这个工具是Introspector Class其中最重要的就是static getBeanInfo().可以将一个Class reference传入这个函数,它便会对class进行彻底查询,并回传BeanInfo对象.然后你就可以解剖它,取得其属性(properties),函数(methods),事件(event).
3.4 Bean的包装
将Bean放到支持Bean的可视化开发工具里之前,必须先将其放到标准的Bean容器里.所谓标准的Bean容器中,是一个JAR文件,内含所有的Bean Classes和一份清单文件(manifest file)
5.JavaBean的体系结构
JavaBean体系结构是第一个全面的基于组件的标准模型之一.在集成的IDE中使JavaBean在设计时可以操作.
(组件模型见如下图:)JavaBean体系结构图

JavaBean的组件模型为开发人员提供了一个标准的方式,定义Java类以便其组件在JavaBean容器环境操作,JavaBean组件根据各种属性定义模型对外提供其属性,事件及内视信息,它允许设计工具的定制,达到在设计时Bean自身定制的目的.
6.JavaBean编程的基本要求:
如果您要创建产品级 Bean,请记住以下几件事情:
(1)使 bean 越小越好,但要注意当前的浏览器是否支持小 bean
bean 或许导致工具滞后,继而导致浏览器滞后,最终导致 JDK 自身滞后。如果您必须使用切边的类,或者 bean 的性质要求 bean 较大,则您应该考虑将您的 bean 作为一个插件, 并在一个自包含 jar 中发送它,或者如有可能,使它具有自己的小安装过程。您将失去某些小 bean 的优势:
Web 管理员必须多执行一个步骤:提醒用户在浏览 Web 页面之前必须先下载和安装您的 jar 或安装程序
网上冲浪者也必须多执行一个步骤:在浏览 Web 页面之前先下载和安装您的 jar 或安装程序。
(2)使您的 bean 可翻译
将所有的翻译文本,包括名称和 bean 的简短描述及其特征,分隔成 .properties 文件。JAR 向导会为您做这些。 您需要记住并自己完成的两件事是:特性编辑器和定制器。定制器、对话框特性编辑器或选择特性编辑器中的所有术语,例如高、中、低,也必须为翻译而分隔。 理想情况下,您也可以实际翻译 bean 并在 Bean 的 jar 中提供各种语言的 .properties 文件。 然而,如果您至少提供了本地语言 .properties 文件,则第三方可为您翻译 bean。
(3)在文件清单中为 bean 指定 Depends-On: 标记
将 Bean 的 jar 中的所有文件标识为“运行时需要 vs. 只在编辑时需要”。在运行时需要的所有文件将列示在 jar 清单文件的依赖于:标签后。JAR 向导的发布标签使这个操作很简单,并使您获得清单文件权。
如果您不指定依赖于:标签,工具将假设所有文件都是在运行时需要。这对于下载性能(例如不必要地下载特性编辑器和其它只在编辑时需要的文件)是很不好的。
(4)赋予您的 bean 一个明确的首选大小
bean 将实现 getPreferredSize 方法,以便当首次用可能未定义的关键字特性构造时,它的表现良好。 如果在第一次放入时,bean 是 0 x 0 象素,那么用户可能会混淆。 当更改关键字特性时,首选大小也应正常工作。例如,如果 bean 有一个在垂直和水平方位间转换的特性,则首选大小应被写入以相应地调整自身。
(5)为 bean 指定缺省特性
利用 JavaBean 规范中的缺省特性部分,它将使您的 bean 在某些工具中易于使用。 JAR 向导使这个操作变得简单并为您获得 BeanInfo 权。
(6)为 bean 及其特性指定简要的非技术名称和简短描述
寻找简要的非技术名来代替冗长的技术术语。例如,用 sum interval 代替 accumulatorInterval。还请注意,特性名的首选项以小写表示并在字与字间留有空格,这对于用户将更友好。
(7)缩小用户可见的特性范围
为 bean 提供一个明确的 BeanInfo 以便不将每个实例变量都显示为 bean 的特性,而且不将每个方法显示为 Bean 的操作。 JAR 向导使这个操作变得简单并为您获得 BeanInfo 权。
(8)为 bean 指定大图标和小图标
最后,为 Bean 提供大的(32x32)和小的(16x16)彩色图标。而且,确保图标有一个不同于灰色的透明背景。尽管很少使用,您也应养成提供黑色和白色图标的习惯。JAR 向导的调色板 标签使这个操作变得简单,并使您获得 BeanInfo 权

分享到:
评论

相关推荐

    jsp+servlet+javabean简易版bbs论坛

    主要是用mvc模式开发的,jsp页面没有用表达式与小脚本,主要用的是jstl+EL表达式写的,对于刚刚学习jsp的人来说,看起来还是有一定的难度,但是你学会了那些东西,那就没有什么阻碍了!总体来说,很多实用的知识点都运用进去...

    非常基础的javabean实例 采用import引入包

    当初为了这个程序,找了很多,一直没找到用import来引入包的。而且还一直出错。...所以最后就做了这个东西。。给初学者,,或者是需要立刻用这种模式做jsp功能开发而苦于配置的程序员们.. 哎。。悲剧了一上午

    JavaBean封装MySQL数据库操作(学习版)

    我学习过程中自己参考书本写的,注释详细,我也自己写了使用说明放在里面,...你要是要学javabean,还想知道javabean怎么封装数据库,这个最好不过了. 数据库的链接你得改下用户名,密码之类东西,你打开.java文件就会看懂的.

    JavaBean+MyBatis注解,根据表结构自动生成

    0、根据表可以单独生成javaBean后缀可以自定义 1、工具本身是非常简单的,每个人都能做就是使用模板替换生成相应文件 2、工具主要针对SpringMvc+Mybatis注解+Mysql生成对象,dao、sqlDao、interface、实现接口 3、...

    Jsp+JavaBean+Servlet的简单大学的web课程设计(二手房屋交易系统)

    有什么问题82581318加我问,自己做的,模板是老师的,东西是自己弄得。 这种东西简单,但是用的是MVC结构,代码还算清晰,老师看了虽然简单,但是用的是JSP BEAN Servlet 三个弄成的MVC 居然给了个A,主要是其他同学...

    JSP+JavaBean留言本

    JSP课程设计,老师让做点东西,就做了这个小留言本,没有什么太大的功能,提供学习用。 该留言本采用JSP+JavaBean+Access开发,直接放到Tomcat下就能运行,不用配置数据源。 含有UBB代码和UBB头像,采用正则...

    网上书店系统(jsp+Struts+JAvaBean+Serclet)

    运用JAVA, Struts, Servlet, JSP,MVC及网络编程和电子商务的知识所编写的网上书店。 主要实现的功能有: 图书查询 图书详情显示 购物车管理 ...会员登录 会员地址确认 历史订单查询 等等网上书店的所有东西。

    jspbook.rar_jsp JavaBean_jsp access_jsp sql_jsp 登陆_jsp 课程设计

    JSP课程设计,老师让做点东西,就做了这个小留言本,没有什么太大的功能,提供学习用。 该留言本采用JSP+JavaBean+Access开发,直接放到Tomcat下就能运行,不用配置数据源。 含有UBB代码和UBB头像,采用正则表达式...

    购物系统(JavaBean+Servlet+jsp)

    在当当网图书城这个工程中,可以让人群搜索和查看不同类型的图书。本系统的开发较好地解决了这一问题,实现了人群搜索不同类型的图书自动化,而且可以内部保存不对外发布。 本系统在Windows Server XP-1操作系统环境...

    网上购物系统(JavaBean+Servlet+jsp)

    对其中的问题,产生的原因进行了综合分析,对开发过程中的感受、得到的经验进行了总结,得到了很大的进步,发现了一些很实际的问题,同时我感觉到我真正地学到了实际的东西,让我在茫茫之中找到了一些目标,切实感到...

    网上购物系统(JavaBean+Servlet+jsp).zip

    在当当网图书城这个工程中,可以让人群搜索和查看不同类型的图书。本系统的开发较好地解决了这一问题,实现了人群搜索不同类型的图书自动化,而且可以内部保存不对外发布。 本系统在Windows Server XP-1操作系统环境...

    java 三级联动的东西

    在Java开发中,三级联动通常指的是在用户界面中,三个下拉列表框(dropdown lists)之间存在关联性,即选择其中一个下拉框的选项会动态更新其他下拉框的内容。这种功能在地域选择、分类导航等场景中非常常见。在给定...

    这里有一个好东西.Util工具类集合哦~~

    然而,结合Util的前缀,我们可以推测这个UtilBean可能是在JavaBean的基础上增加了各种实用方法,比如属性的批量设置和获取,或者提供了一些关于对象操作的辅助函数。 3. **JDBCBean.java**: JDBC(Java Database ...

    generatorSqlmapCustom-master.zip

    2.在我们代码的编写过程工,JavaBean实体类,Dao接口,Mapper.xml配置文件实际上很多东西都是固定的,JavaBean的实体类可以通过表的列名与表明以及类型获得,Dao接口可以通过JavaBean实体类编写,而Mapper.xml对象...

    有用的东西 mybatis

    标题 "有用的东西 mybatis" 暗示了我们要讨论的是 MyBatis,这是一个流行的数据持久化框架,用于简化Java应用程序中的数据库操作。MyBatis 取代了传统的 JDBC,通过XML或注解的方式将SQL语句与Java代码绑定,使得...

    网上书店购书系统

    jsp+javabean+css+mysql的网上书店(源码完整直接运行,高仿真数据库...论文当时我写了将近2周,错误再所难免,仅供大家参考 写东西真的很累 为什么斑竹 不给我加精呢 有点心理不平衡。 您的支持是我继续传的动力!

    026 - 网上购物系统(JavaBean+Servlet+jsp) - 大学生毕业设计 亲测完美可用 极致技术工厂

    对其中的问题,产生的原因进行了综合分析,对开发过程中的感受、得到的经验进行了总结,得到了很大的进步,发现了一些很实际的问题,同时我感觉到我真正地学到了实际的东西,让我在茫茫之中找到了一些目标,切实感到...

    jsp源代码 终于找到这么好的东西了

    最后,第十章提供了一个基于MVC模式的完整网站开发案例,涵盖了Web应用开发中的基本模块,让读者能够将前面所学知识综合运用。 总的来说,这本书通过实例驱动的方式,详细讲解了JSP的各个方面,适合计算机专业学生...

    浅谈iOS中MVVM的架构设计与团队协作

    转载他人的,Model层是少不了的了,我们得有东西充当DTO(数据传输对象),当然,用字典也是可以的,编程么,要灵活一些。Model层是比较薄的一层,如果学过Java的小伙伴的话,对JavaBean应该不陌生吧。 ViewModel层,...

Global site tag (gtag.js) - Google Analytics