什么是Bean

在经细节处理后,一个组件在类中被独特的具体化,真正地成为一块代码。关键的争议在于应用程序构建工具发现组件的属性和事件能力。为了创建一个VB组件,程序开发者不得不编写正确的同时也是复杂烦琐的代码片,接下来由某些协议去展现它们的事件和属性。Delphi是第二代的可视化编程工具并且这种开发语言主动地围绕可视化编程来设计因此它更容易去创建一个可视化组件。但是,Java带来了可视化的创作组件做为Java Beans最高级的“装备”,因为一个Bean就是一个类。我们不必再为制造任何的Bean而编写一些特殊的代码或者使用特殊的编程语言。事实上,我们唯一需要做的是略微地修改我们对我们方法命名的办法。方法名通知应用程序构建工具是否是一个属性,一个事件或是一个普通的方法。
在Java的文件中,命名规则被错误地曲解为“设计范式”。这十分的不幸,因为设计范式(参见第16章)惹来不少的麻烦。命名规则不是设计范式,它是相当的简单:
(1) 因为属性被命名为xxx,我们代表性的创建两个方法:getXxx()和setXxx()。注意get或set后的第一个字母小写以产生属性名。“get”和“set”方法产生同样类型的自变量。“set”和“get”的属性名和类型名之间没有关系。
(2) 对于布尔逻辑型属性,我们可以使用上面的“get”和“set”方法,但我们也可以用“is”代替“ get”。
(3) Bean的普通方法不适合上面的命名规则,但它们是公用的。
4.对于事件,我们使用“listener(接收器)”方法。这种方法完全同我们看到过的方法相同:(addFooBarListener(FooBarListener)和removeFooBarListener(FooBarListener)方法用来处理FooBar事件。大多数时候内建的事件和接收器会满足我们的需要,但我们可以创建自己的事件和接收器接口。
上面的第一点回答了一个关于我们可能注意到的从Java 1.0到Java 1.1的改变的问题:一些方法的名字太过于短小,显然改写名字毫无意义。现在我们可以看到为了制造Bean中的特殊的组件,大多数的这些修改不得不适合于“get”和“set”命名规则。
现在,我们已经可以利用上面的这些指导方针去创建一个简单的Bean:
 

//: Frog.java
// A trivial Java Bean
package frogbean;
import java.awt.*;
import java.awt.event.*;

class Spots {}

public class Frog {
  private int jumps;
  private Color color;
  private Spots spots;
  private boolean jmpr;
  public int getJumps() { return jumps; }
  public void setJumps(int newJumps) {
    jumps = newJumps;
  }
  public Color getColor() { return color; }
  public void setColor(Color newColor) {
    color = newColor;
  }
  public Spots getSpots() { return spots; }
  public void setSpots(Spots newSpots) {
    spots = newSpots;
  }
  public boolean isJumper() { return jmpr; }
  public void setJumper(boolean j) { jmpr = j; }
  public void addActionListener(
      ActionListener l) {
    //...
  }
  public void removeActionListener(
      ActionListener l) {
    // ...
  }
  public void addKeyListener(KeyListener l) {
    // ...
  }
  public void removeKeyListener(KeyListener l) {
    // ...
  }
  // An "ordinary" public method:
  public void croak() {
    System.out.println("Ribbet!");
  }
} ///:~

首先,我们可看到Bean就是一个类。通常,所有我们的字段会被作为专用,并且可以接近的唯一办法是通过方法。紧接着的是命名规则,属性是jump,color,jumper,spots(注意这些修改是在第一个字母在属性名的情况下进行的)。虽然内部确定的名字同最早的三个例子的属性名一样,在jumper中我们可以看到属性名不会强迫我们使用任何特殊的内部可变的名字(或者,真的拥有一些内部的可变的属性名)。
Bean事件的句柄是ActionEvent和KeyEvent,这是根据有关接收器的“add”和“remove”命名方法得出的。最后我们可以注意到普通的方法croak()一直是Bean的一部分,仅仅是因为它是一个公共的方法,而不是因为它符合一些命名规则。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索bean
, 方法
, 事件
, keylistener
, 属性
, public
一个
bean、spring中什么是bean、什么是spring bean、什么是java bean、bean是什么意思,以便于您获取更多的相关知识。

时间: 2024-10-24 23:49:42

什么是Bean的相关文章

No bean named 'sysConfigDAO' is defined

问题描述 No bean named 'sysConfigDAO' is defined 1SysConfigService.java ...... package com.lfyc.foundation.service.impl; @Transactional @Service ("SysConfigService") public class SysConfigService implements ISysConfigService { @Resource(name="s

配置是否初始化Bean的方法

在Spring Boot:定制自己的starter一文提到,只要DbCountRunner这个类在classpath路径下,Spring Boot会自动创建对应的spring bean并添加到应用程序上下文中. 在文章最后提到,Spring Boot的自动配置机制依靠@ConditionalOnMissingBean注解判断是否执行初始化代码,即如果用户已经创建了bean,则相关的初始化代码不再执行. 现在在上篇文章的基础上进行演示,看看@ConditionalOnMissingBean注解的作

在系统中使用Bean Validation验证参数

为什么要使用Bean Validation?  当我们实现某个接口时,都需要对入参数进行校验.例如下面的代码 public String queryValueByKey(String parmTemplateCode, String conditionName, String conditionKey, String resultName) { checkNotNull(parmTemplateCode, "parmTemplateCode not null"); checkNotNu

Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applica

 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoun

实现xml信息到Java Bean的转化

xml 本文主要是关于使用commons-betwixt组件实现xml信息到Java Bean的转化的一些感受,实现这一功能的核心类是BeanReader,如果你看过betwixt的源代码,你会发现 public class BeanReader extends Digester{}       如果你细看一下BeanReader的源代码,betwixt在处理xml-->JavaBean转化时其实是调用Digester这个类的parse方法.但除了此方式可以实现转化的功能以外,BeanReade

用EJB 3.0开发企业级Bean组件初体验

阅读提要 EJB 3.0规范的最终稿已经提交到JCP,如果不出意外EJB3.0将在2006年正式发布.本文作为探讨EJB 3.0公共草案三系列中的第一篇,将解释EJB 3.0和企业Bean组件的基本概念:另外,你还学习到怎样使用JBoss和Maven来开发基于EJB 3.0的企业级bean组件. 尽管EJB 3.0规范还没有正式发行,但是它已经在Java开发社群中引起广泛兴趣--无论是对其拥护者还是其竞争对手.所有人都承认迫切需要找到更有生产效率的软件开发方法:如今,他们的争论集中于在EJB 3

Spring中bean的基本xml配置

xml   在spring容器内拼凑bean叫作装配.装配bean的时候,你是在告诉容器,需要哪些bean,以及容器如何使用依赖注入将它们配合在一起.    理论上,bean装配可以从任何资源获得,包括属性文件,关系数据库等,但xml是最常见的spring 应用系统配置源.Spring中的几种容器都支持使用xml装配bean,包括:    XmlBeanFactory ,    ClassPathXmlApplicationContext ,    FileSystemXmlApplicatio

Struts 中bean:present使用方法

   在做一个用Struts做的电子商务项目时,遇到了一个这样的问题:未登陆用户购买商品时,要显示用户登陆画面:而登陆用户购买商品时,则不显示登陆画面而显示用户信息.可以用struts 1.1 的bean:present实现:     在JSP页面头部一定要加上相应的<%@ taglib 等标记,否则无法实现.我开始时就是忘了加<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="

使用servlet和Java Bean访问MySQL

mysql|servlet|访问 行环境: JDK 5.0 + Tomcat 5.5.4 JDK安装路径: D:\Java\jdk1.5.0_01 Tomcat安装路径:D:\Tomcat 5.5 设置环境变量(控制面板->系统->高级): java_home=D:\Java\jdk1.5.0_01 path=%JAVA_HOME%\bin classpath=.;D:\Java\jdk1.5.0_01\lib\dt.jar;D:\Java\jdk1.5.0_01\lib\tools.jar;

MD5的Java Bean实现

MD5简介 MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.MD3和MD4发展而来. Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数.请注意我使用了"字节串"而不是"字符串"这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关. MD5将任意长度的"字节串&q