When I (along with my co-author at the time) wrote the first edition, we sincerely tried to include EVERYTHING that Spring had to offer at that time. And we came close...but still failed to capture it all. By the time the 2nd edition came along, the Spring landscape was so broad that it was impossible to cover everything. Now that I'm working on the 6th edition, it's even more important to make tough decisions on what will be included and what won't be included. I've had to decide what would be the most useful information for someone new to Spring as well as what might be the most valuable new information for the seasoned Spring developer. No matter what choice I make, somebody's gonna miss their choice piece of the Spring ecosystem.
So, no...Spring State Machine isn't included. I've also had to cut the Spring Cloud material and will refer everyone to John Carnell's excellent book that covers the topic in more depth than I could ever do in just a few chapters. I also don't dedicate entire chapters to the various ways one can wire beans together, because although that's still useful info, it's not nearly as useful in a world of autowiring and autoconfiguration; instead the specifics of wiring are handled in a much more pragmatic way as-needed throughout the book while working with other pieces of Spring.
Scope-wise, the book will cover...
- Getting started
- Spring MVC
- Spring's JdbcTemplate
- Spring Data (JDBC, JPA, MongoDB, and Cassandra)
- Configuration properties
- Spring Security (not comprehensively, because that itself has a huge scope)
- RestTemplate and WebClient for REST consumption
- Messaging (JMS, Rabbit, Kafka)
- Spring integration
- Spring WebFlux
- Deploying, including containerized deployment to Docker and Kubernetes
I *could* cover so much more...but then the book would be enormous and would never be completed.