Skip to content
Home » Types of beans

Types of beans

Below is a clear, structured, and detailed discussion of Types of Beans in Java, presented in a well-organized academic format for strong conceptual understanding.


Types of Beans in Java

Introduction

In Java, the term “Beans” generally refers to reusable software components. Depending on the context, beans are categorized into two major types:

  1. JavaBeans (Client-side components)
  2. Enterprise JavaBeans (EJB – Server-side components)

Each type serves a different purpose in Java application development.


1. JavaBeans

Definition

JavaBeans are simple Java classes used to represent data and components. They follow specific conventions such as having private properties, getter/setter methods, and a no-argument constructor.


Types of JavaBeans (Based on Functionality)

1. Simple Bean

  • Contains basic properties
  • Used for storing and transferring data

Example Use:

  • User details
  • Product information

2. Indexed Bean

  • Handles array or list-based properties
  • Provides indexed getter/setter methods

3. Bound Bean

  • Notifies other components when property changes
  • Uses event-listener mechanism

4. Constrained Bean

  • Allows validation before property changes
  • Can reject changes using exceptions

Use of JavaBeans

  • JSP applications (useBean, setProperty)
  • Data transfer between layers
  • GUI components

2. Enterprise JavaBeans (EJB)

Definition

Enterprise JavaBeans (EJB) are server-side components used to build distributed, scalable, and secure enterprise applications. They run inside an EJB container.


Types of Enterprise Beans

1. Session Beans

Session beans handle business logic.

Types of Session Beans

a) Stateless Session Bean
  • Does not maintain client state
  • Each request is independent

Use Case:

  • Calculations
  • Utility services

b) Stateful Session Bean
  • Maintains state across multiple requests
  • Stores client-specific data

Use Case:

  • Shopping cart
  • User sessions

c) Singleton Session Bean
  • Only one instance exists in application
  • Shared across all users

Use Case:

  • Caching
  • Application-wide configuration

2. Entity Beans (Legacy)

  • Represent database records
  • Persistent data storage
  • Replaced by JPA (Java Persistence API)

3. Message-Driven Beans (MDB)

  • Used for asynchronous communication
  • Processes messages from message queues

Use Case:

  • Email processing
  • Background tasks

Comparison: JavaBeans vs Enterprise Beans

FeatureJavaBeansEJB
TypeClient-sideServer-side
ComplexitySimpleComplex
PurposeData representationBusiness logic
EnvironmentStandalone/JSPApplication server
PersistenceManualContainer-managed

Advantages of Beans

JavaBeans

  • Easy to create and use
  • Reusable components
  • Lightweight

EJB

  • Scalable and secure
  • Transaction management
  • Distributed computing support

Limitations

JavaBeans

  • Limited functionality
  • No built-in services

EJB

  • Complex configuration
  • Requires application server
  • Heavyweight

Modern Perspective

  • JavaBeans concepts are still widely used
  • EJB has largely been replaced by:
    • Spring Framework
    • Spring Boot
    • JPA

Conclusion

Beans in Java are essential for building modular and reusable applications. JavaBeans are used for simple data handling, while Enterprise JavaBeans provide powerful server-side capabilities for enterprise systems. Understanding both types helps in designing scalable and maintainable Java applications.