Master Spring basics and core topics, and share the authors’ insights and real–world experiences with remoting, Hibernate, and EJB. Beyond the basics, you'll learn how to leverage the Spring Framework to build the various tiers and parts of an enterprise Java transactions, web and presentation tiers, deployment, and much more. A full sample application allows you to apply many of the technologies and techniques covered in Pro Spring 5 and see how they work together. This book updates the perennial bestseller with the latest that the new Spring Framework 5 has to offer. Now in its fifth edition, this popular title is by far the most comprehensive and definitive treatment of Spring available. It covers the new functional web framework and interoperability with Java 9. After reading this definitive book, you'll be armed with the power of Spring to build complex Spring applications, top to bottom. The agile, lightweight, open-source Spring Framework continues to be the de facto leading enterprise Java application development framework for today's Java programmers and developers. It works with other leading open-source, agile, and lightweight Java technologies such as Hibernate, Groovy, MyBatis, and more. Spring now works with Java EE and JPA 2 as well. What You'll Learn Who This Book Is For Experienced Java and enterprise Java developers and programmers. Some experience with Spring highly recommended.
This is super resource for the upgrade from Spring 4 to Spring 5.
From my perspective, this book is hard for people who don't have tons of years experience with Spring. I found not intermediate-advanced levels but rather advanced in some topics and under intermediate for some others (where the high overview done). Also, as for my taste book concentrates too much on XML based configurations and AOP.
This book could be useful if you want an overview that is not so shallow as a blog post and not so deep as the documentation.
It is not a type of book that you read with pleasure. Sometimes it is boring, sometimes it does not explain some concepts very well, sometimes it explains more than needed, sometimes it just throws a lot of information in your face with no apparent concern about didactic.
Another characteristic that is not necessarily bad but it is useful to know is that this book is not opinionated. It just shows you the information without taking sides about what is the best option.
It's a thorough treatment of Spring 5. I picked it up to participate in a book club at work, but said book club sorta fizzled out after a while. (No one's fault; even Coronavirus couldn't stop our momentum on Effective Java -- alas! this one here...)
ANYWAY: I'm pumping the brakes on this one because of the aforementioned book club going on hiatus. That said, a few thoughts:
FIRST: It's a worthy recommendation. I don't know that this will get you up-and-running with Spring fast necessarily -- but it WILL help you get a pretty thorough understanding of what the framework(s?) is doing, and how to apply it, and WHY to use it vs. "traditional" Java programming methods.
SECOND: and maybe this is just me but -- part of the reason I picked it up and decided to participate in the book club was to get a deeper understanding of Spring itself. And the authors do a good job of laying out concrete cases for why you would want to use Spring as opposed to [FILL IN THE BLANK "TRADITIONAL" JAVA PROGRAMMING METHOD]. But that said -- I've been using Spring for so long (without a specific focused study of it) that I was like: "Why would you do this any OTHER way?" And so on that note, I kept thinking: "Half of this chapter can get cut, because I really don't need the hard sell here."
THIRD: In its effort to be exhaustive (i.e., show us ALL that Spring has to offer!) I wound up finding myself glossing over large chunks. With the team I'm on now (and teams I've historically been on) -- we definitely prefer the in-code DI with annotations and Java config files etc. So seeing all the discussion of setting stuff up with XML was tedious to say the least.
FOURTH: I will be finishing this one eventually. But for now I'm much more likely to skip around in it, and opportunistically pick off the parts that I need to know more about, without necessarily making a linear study of every last little bit. (For example: I can just skip RIGHT OVER all the task scheduling stuff for the foreseeable future...)