Java Beans

A Java Bean is a reusable software component that can be manipulated visually in a builder tool. This is Sun's succinct definition of a bean.
In this discussion, we will first examine this definition and elaborate on it. We will describe the motivation for using beans, and the tools necessary for creating beans. And then we will look in detail at the key concepts related to Beans, including properties, methods and events, introspection, persistence, customization and others.
Along the way, we will answer the following general questions:


What is a Java Bean?

This section elaborates on the description of a bean.

Why Beans?

The motivation for using beans.

BDK and the BeanBox

What the BeanBox is, what the BeanBox isn't.

Properties, Methods and Events

What requirements are there for implementing properties, methods and events in Java Beans?

Introspection

What are the techniques used to discover information about a bean at design time or runtime?

Persistence

How Beans implement persistence using Java Object Serialization.

Making Beans

Some examples.

Customization

Brief explanation.

Packaging Beans

Brief explanation.

Checklist

Brief explanation.


References

I found the following references to be useful:
Also on this page is a list of books about JavaBeans. I used Developing Java Beans, the O'Reilly book by Robert Englander, and I thought it was pretty good.