Recently, the Java world has witnessed a dramatic shift away from so-called "heavyweight" architectures such as Enterprise JavaBeans (EJB) toward lighter weight frameworks such as Spring. Complex and container-dependent services, such as ORM, and transaction management systems have been replaced with simpler alternatives such as Hibernate and Aspect Oriented Programming (AOP). At the core, Spring provides a comprehensive, lightweight container based on the principle of Inversion of Control (IoC), upon which you can build your own applications. On top of this container, Spring provides a myriad of useful services, bringing together a large range of highly competent open source projects into a single cohesive framework.
The quality of the Spring framework has seen it replacing traditional J2EE architectures in many cases; as a result, more and more developers see the need for comprehensive Spring skills. Despite Spring having quite an extensive suite of documentation and examples, we feel that many developers are still struggling to understand how to use Spring and, more importantly, how to use it effectively. Because of this and the fact that we are closely involved in Spring, we decided to write this book.
During the course of this book, you will learn how to use Spring to build better web and stand-alone applications and how to sift through the many choices available to you through the framework. Our aim is to provide you with all the knowledge you need to use Spring effectively in your own applications and to give you insight into what is happening behind the scenes in Spring.
For example, you will
Learn the fundamentals of IoC in the context of AOP.
Become aware of the seamlessness and power of Spring by referencing the easy-to- understand sample application we provide.
Learn how to replace common EJB features with Spring alternatives, including Spring's comprehensive AOP-based transaction management framework.
Learn to integrate and use these other open source projects with Spring: Apache Struts, Jakarta Velocity, Jakarta POI, and many more.
Effectively manage your Spring components and applications using Spring's built-in JMX engine.
Learn how to add scheduling to your Spring application with Quartz.
Learn how to simplify mail sending with Spring and how to integrate JMS messaging into your application using Spring and ActiveMQ.
For more information on the content of this book, check out the Contents.
After reading this book, you will be equipped with all the knowledge you need to build applications effectively using Spring and its related open source projects.
This book is aimed at experienced Java developers who have a solid understanding of the core Java platform. In addition, many of the chapters discuss J2EE technologies such as servlets, EJBs, and JMS; we assume that the reader is familiar with these concepts and spend little time introducing them. That said, this book does not assume that the reader has any prior experience with Spring or other IoC containers, and the first few chapters are aimed at helping Spring novices understand the basics of the framework.