Book Image

Software Architecture with Spring 5.0

By : René Enríquez, Alberto Salazar
Book Image

Software Architecture with Spring 5.0

By: René Enríquez, Alberto Salazar

Overview of this book

Spring 5 and its ecosystem can be used to build robust architectures effectively. Software architecture is the underlying piece that helps us accomplish our business goals whilst supporting the features that a product demands. This book explains in detail how to choose the right architecture and apply best practices during your software development cycle to avoid technical debt and support every business requirement. Choosing the right architecture model to support your business requirements is one of the key decisions you need to take when a new product is being created from scratch or is being refactored to support new business demands. This book gives you insights into the most common architectural models and guides you when and where they can be used. During this journey, you’ll see cutting-edge technologies surrounding the Spring products, and understand how to use agile techniques such as DevOps and continuous delivery to take your software to production effectively. By the end of this book, you’ll not only know the ins and outs of Spring, but also be able to make critical design decisions that surpass your clients’ expectations.
Table of Contents (21 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Why Spring appeared


As you probably know, Spring was created with the intention of simplifying all of the complexity of the J2EE world. It was created as a dependency injection framework and as an alternative to the EJB stack with distributed objects, which was unnecessary in most applications. The traditional approach to J2EE introduced a lot of complexity when it was used to bootstrap an application, and this involved even more complexity when used to accomplish the business requirements it had to solve. Consequently, we were left with applications that were difficult to test and were too costly to develop and maintain.

Spring and J2EE were created when Java didn't have annotations, so big XML files were necessary for wire classes. Fortunately, annotations became available in version 1.5 of the Java Development Kit (JDK), and that helped to reduce the need for such descriptor files.

Spring evolves faster than JEE, since it doesn't have to satisfy the formality of talking with a large committee...