This book will take you through Design Patterns and best practices required with the Spring framework. You will learn to use these design patterns to solve common problems when designing an application or system using the Spring Framework. This book will not only take you through the essential GoF Design Patterns but also patterns, considerations, and best practices required at different stages in Application Development.
The book begins by giving you an overview of Spring Framework 5.0 and Design Patterns. You will understand the Dependency Injection pattern which is the main principle behind the decoupling process that Spring does, thus making it easier to manage your code. With practical examples, you will understand how patterns listed under the GoF patterns can be used in your Application Design. You will then learn to use Proxy patterns in Aspect Oriented Programming and remoting. Moving on, you will understand the JDBC template patterns which will look at abstracting the database access. From here, you will be introduced to the MVC patterns and how it treats controllers as Plain Old Java Objects, and build a reactive web application using Spring MVC Pattern. Finally, we will move on to more advanced topics such as Reactive streams and Concurrency.
What you will learn
- Develop application using dependency injection pattern
- Learn the best practices to design enterprise applications
- Explore Aspect-Oriented Programming relating to transactions, security and caching.
- Build Web Application using Traditional Spring MVC Pattern
- Learn to Configure Spring using XML, Annotation, and Java.
- Implement caching to improve performance of an application.
- Understand Concurrency and handle multiple connections inside a web server.
- Utilizing Reactive Programming Pattern build Reactive Web Applications.
Table of Contents
Chapter 1. Getting Started with Spring Framework 5.0 and Design Patterns
Chapter 2. Overview of GOF Design Patterns – Core Design Patterns
Chapter 3. Consideration of Structural and Behavioral Patterns
Chapter 4. Wiring Beans using the Dependency Injection Pattern
Chapter 5. Understanding the Bean Life Cycle and Used Patterns
Chapter 6. Spring Aspect Oriented Programming with Proxy and Decorator pattern
Chapter 7. Accessing a Database with Spring and JDBC Template Patterns
Chapter 8. Accessing Database with Spring ORM and Transactions Implementing Patterns
Chapter 9. Improving Application Performance Using Caching Patterns
Chapter 10. Implementing the MVC Pattern in a Web Application using Spring
Chapter 11. Implementing Reactive Design Patterns
Chapter 12. Implementing Concurrency Patterns
- Explore the Best Practices for designing an application
- Manage your code easily with the Dependency Injection pattern of Spring;
- Understand the benefits that the right design patterns can offer to your toolkit