Java Bean

在做CRM课设的时候碰到的知识点。

我是在看JavaWeb的书籍中了解到JavaBean这个概念的。书中解释JavaBean是为了提高Jsp文件中的代码可读性(即避免Jsp页面中写太多Java代码),JavaBean在Jsp中的代码表现为标签化即:

1
2
<% %>
<jsp:useBean>

然而百度出来的JavaBean却和我理解的概念相去甚远,JavaBean原来是一个更大更广的概念。

JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBeans 通过提供符合一致性设计模式的公共方法将内部域暴露成为属性。
——百度百科

JavaBean最初是使代码可以复用而创建的,JavaBean开发了一些标准,使得代码在程序里可以方便的被重用,提升开发效率。JavaBean就是遵循一组规则的Java类,即:

Java语言欠缺属性、事件、多重继承功能。所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码。Java Bean正是编写这套胶水代码的惯用模式或约定。这些约定包括getXxx、setXxx、isXxx、addXxxListener、XxxEvent等。遵守上述约定的类可以用于若干工具或库。——JavaBean 是个什么概念? - 杨博的回答 - 知乎

这是知乎上面的一段解释,该回答中有一句话

让用户一开始就使用getSize,以便有朝一日修改getSize实现时,不破坏向后兼容性。这种public int getSize() { return size; }的惯用手法,就是Java Bean。

这段话大概解释了JavaBean的设计理念。

所以我在书上看到的Jsp中关于JavaBean的应用的代码如:

1
<% %>

的作用只是解析了Java代码,如果解析的不是符合JavaBean规范的代码,其实这种用法也谈不上对JavaBean的应用。