SpringSource. This topic also assumes a focus on service-oriented architectures. If you're looking for a
discussion of Spring and web frameworks, this topic might not be for you.
How This Topic Is Structured
This topic covers Spring 3.0 from the basic to the advanced and introduces several common Spring
projects that will bring significant value to your application development. It is divided into 12 chapters,
with each chapter progressively more advanced than its predecessor.
Chapter 1: “Introduction to Spring.” This chapter introduces the core features of the Spring
framework as well as the underlying principle of Inversion of Control (IoC). Additionally, this chapter
provides an introduction to the life cycle of beans deployed in the Spring application context and an
introduction to Spring's support for AOP.
Chapter 2: “What's New in Spring 3.0?” This chapter provides a breakneck introduction to the
refinements and additions to the Spring framework in version 3.0. Read this chapter if you're quite sure
you understand the thrust of Chapter 1 but aren't familiar with version 3.0 of the Spring framework.
Chapter 3: “Data Access.” This chapter shows how Spring can simplify JDBC's uses through its JDBC
support. It also serves as an introduction to Spring's data access module.
Chapter 4: “Transaction Management in Spring.” This chapter discusses Spring's different
transaction management approaches and explains transaction attributes in detail.
Chapter 5: “EJB, Spring Remoting and Web Services.” This chapter covers Spring's support for
various remoting technologies, including RMI, Hessian, Burlap, HTTP Invoker, and Web Services. It
also introduces developing contract-first Web Services using Spring Web Services.
Chapter 6: “Spring in the Enterprise.” Sometimes the devil is in the details. This chapter discusses
Spring's broad support for various application concerns, such as monitoring via JMX, e-mail via
JavaMail, and scheduling using Quartz.
Chapter 7: “Messaging.” This chapter introduces JMS, the basic principles of message-oriented
architectures, and Spring's support for JMS. This chapter will set the stage for Chapter 8, in which we
discuss more-advanced message-oriented solutions.
Chapter 8: “Spring Integration.” No application is an island. Modern applications exist to serve
multiple masters and often need to interoperate with other applications. Sharing services and data is
hard. This chapter discusses Spring Integration, a Spring framework that enables high-level integration
Chapter 9: “Spring Batch.” Many applications deal with long-running tasks such as file processing or
database updates. If you're coming from an environment such as CICS on mainframes, you'll find the
tools available in Java EE a bit lacking. Spring Batch is a Spring framework that is oriented around long-
running batch processes. This chapter discusses batch processing and Spring Integration.
Chapter 10: “Distributed Spring.” The era of the monolithic client/server architecture is gone,
and although three-tier architectures have their place, there is something to be said for grid-oriented
architectures. This chapter discusses Terracotta to help cluster your dataset, and GridGain to implement
an effective grid-processing framework.
Chapter 11: “jBPM and Spring.” Business process management (BPM) is a technology often mired in
buzzwords. However, a lightweight application of BPM can provide significant value to a business and
can enable service reuse. This chapter introduces BPM and then discusses how to integrate Spring with
Chapter 12: “OSGi and Spring.” Applications are more and more pieced together, à la carte,
assembled from the best-of-breed pieces. There's less and less need for a proper Java EE container.
Indeed, applications can profit both in computer throughput and elegance by building modular
solutions, using only what's required. This chapter introduces OSGi and then describes the Spring
technologies built on and for this powerful platform.
Each chapter of this topic discusses a Spring topic with multiple problem-solution recipes. You can
look up a solution for a particular problem and see how the solution works in the “How It Works”