Introduction
Java, with its rock-solid JVM, dominates the enterprise world. Spring is a major Java platform used within distributed systems. Understanding the Spring portfolio is essential for enterprise Java developers. The demand for Spring skills is skyrocketing.
This books covers all the major features that the Spring portfolio provides for enterprise development and prepares you for the Pivotal Certified Enterprise Integration Specialist with Spring exam. When you become Pivotal certified, you will have one of the most valuable credentials in Java.
The exam topics covered include tasks and scheduling, remoting, Spring Web Services framework, RESTful services with Spring MVC, Spring JMS module, JMS and JTA transactions with Spring, and batch processing with the Spring Batch and Spring Integration frameworks. This book covers them by explaining examples and focusing on major architectural considerations and concepts. The examples are the biggest contributor to the page count and are open sourced on GitHub (https://github.com/lkrnac/book-eiws-code-samples).
One of the important aspects of this book is its focus on new and modern abstractions provided by the Spring frameworks. Therefore, most of the features are shown with Java annotations (if they exist) alongside established XML configurations. Most of the examples are also based on the Spring Boot framework. Spring Boot adoption has been exponential because of its capability to significantly simplify Spring configuration according to sensible opinionated defaults. But Spring Boot is not the target of the exam, so all the features are also covered with plain Spring configuration examples.
What You’ll Learn
This book covers the following topics:
Who This Book Is For
This book is for developers and architects who have experience programming and developing with the Spring Framework. An understanding of Java is essential for this book, as well as knowledge of the dependency injection pattern and Spring features for the Inversion of Control container. All other features needed for the exam are covered from scratch, with a focus on providing an understanding to beginners as well as valuable material for intermediates and experts.
How This Book Is Structured
Conventions
All the examples are written so that no artificial wrapping is needed. Italics is used for emphasis of particular aspects of the content. I believe that bullets make the options in the content much more readable and memorable, so they are often used to list the features discussed.
Prerequisites
Because we use Java, the operating system is not important. The examples in this book sometimes use Java 8 features, so you need to have Java 8 installed.
It is also important to have the Spring Tools Suite (STS) IDE (Spring’s flavor of Eclipse) available because Spring Integration and Spring Batch use its visualizations. It can be downloaded from the Spring site, http://spring.io/tools/sts/all. At the time of writing this book, the latest version was 3.7.1.RELEASE. You can use plain Eclipse with the Spring Tools Suite plug-in installed, but using the STS product is recommended.
All examples use the most common Java build tool, Maven, so you will need an Internet connection to build the examples. A separate Maven installation is not needed, as STS contains an embedded Maven installation out of the box.
You can use other popular Java IDEs such as IntelliJ IDEA or NetBeans, but you will lose the visualization features of STS for the Spring Integration and Spring Batch examples.
Throughout the content, we introduce various tools such as Lombok, PlantUML, ObjectAid, and the DHC REST/API client plug-in for Chrome. The use as well as the installation of these tools is explained as we use them. Because we use a Chrome plug-in, you need to have a Chrome browser available. But feel free to use any HTTP querying tool of choice instead of the DHC REST/API client plug-in; in that case, Chrome is not needed at all.
Downloading the Code
Code examples are hosted on GitHub: https://github.com/lkrnac/book-eiws-code-samples. Execute the command git clone https://github.com/lkrnac/book-eiws-code-samples from your command line.
Contacting the Author
I am eager to hear your feedback on this book. If you find any problems in the content or examples, please submit the issue on the GitHub repository for this book’s examples: https://github.com/lkrnac/book-eiws-code-samples. My personal web site, www.lkrnac.net/about, contains all the possible links for reaching me. The most effective way to contact me is to send e-mail to [email protected] or tweet to @luboskrnac.
3.141.31.125