cta quote button

Best Books to Learn Spring

Read More

How Much Does It Cost to Hire Web Developers in Ukraine?

Our pricing is completely transparent: you pay your engineers’ salaries and a flat monthly fee for our services. No hidden charges.

Read More

1. Learning Spring Boot 2.0 – Second Edition: Simplify the development of lightning fast applications based on microservices and reactive programming (2017)

Key Features

  • Get up to date with the defining characteristics of Spring Boot 2.0 in Spring Framework 5
  • Learn to perform Reactive programming with SpringBoot
  • Learn about developer tools, AMQP messaging, WebSockets, security, MongoDB data access, REST, and more

Book Description

Spring Boot provides a variety of features that address today’s business needs along with today’s scalable requirements. In this book, you will learn how to leverage powerful databases and Spring Boot’s state-of-the-art WebFlux framework. This practical guide will help you get up and running with all the latest features of Spring Boot, especially the new Reactor-based toolkit.

The book starts off by helping you build a simple app, then shows you how to bundle and deploy it to the cloud. From here, we take you through reactive programming, showing you how to interact with controllers and templates and handle data access. Once you’re done, you can start writing unit tests, slice tests, embedded container tests, and even autoconfiguration tests.

We go into detail about developer tools, AMQP messaging, WebSockets, security, and deployment. You will learn how to secure your application using both routes and method-based rules. By the end of the book, you’ll have built a social media platform from which to apply the lessons you have learned to any problem. If you want a good understanding of building scalable applications using the core functionality of Spring Boot, this is the book for you.

What you will learn

  • Create powerful, production-grade applications and services with minimal fuss
  • Support multiple environments with one artifact, and add production-grade support with features
  • Find out how to tweak your apps through different properties
  • Use custom metrics to track the number of messages published and consumed
  • Enhance the security model of your apps
  • Make use of reactive programming in Spring Boot
  • Build anything from lightweight unit tests to fully running embedded web container integration tests

About the Author

Greg L. Turnquist has been a software professional since 1997. In 2002, he joined the senior software team that worked on Harris’ $3.5 billion FAA telco program, architecting mission-critical enterprise apps while managing a software team. He provided after-hours support to a nation-wide system and is no stranger to midnight failures and software triages. In 2010, he joined the SpringSource division of VMware, which was spun off into Pivotal in 2013.

As a test-bitten script junky, Java geek, and JavaScript Padawan, he is a member of the Spring Data team and the lead for Spring Session MongoDB. He has made key contributions to Spring Boot, Spring HATEOAS, and Spring Data REST while also serving as editor-at-large for Spring’s Getting Started Guides.

Greg wrote technical best sellers Python Testing Cookbook and Learning Spring Boot, First Edition, for Packt. When he isn’t slinging code, Greg enters the world of magic and cross swords, having written the speculative fiction action and adventure novel, Darklight.

He completed his master’s degree in computer engineering at Auburn University and lives in the United States with his family.

Table of Contents

  1. Quick Start with Java
  2. Reactive Web with Spring Boot
  3. Reactive Data Access with Spring Boot
  4. Testing with Spring Boot
  5. Developer Tools for Spring Boot Apps
  6. AMQP Messaging with Spring Boot
  7. Microservices with Spring Boot
  8. WebSockets with Spring Boot
  9. Securing Your App with Spring Boot
  10. Taking your app to production with Spring Boot

Author(s): Greg L. Turnquist

2. Mastering Spring 5.0: Master reactive programming, microservices, Cloud Native applications, and more (2017)

Key Features

  • Explore the new features and components in Spring
  • Evolve towards micro services and cloud native applications
  • Gain powerful insights into advanced concepts of Spring and Spring Boot to develop applications more effectively
  • Understand the basics of Kotlin and use it to develop a quick service with Spring Boot
  • Book Description

    Spring 5.0 is due to arrive with a myriad of new and exciting features that will change the way we’ve used the framework so far. This book will show you this evolution-from solving the problems of testable applications to building distributed applications on the cloud.

    The book begins with an insight into the new features in Spring 5.0 and shows you how to build an application using Spring MVC. You will realize how application architectures have evolved from monoliths to those built around microservices. You will then get a thorough understanding of how to build and extend microservices using Spring Boot. You will also understand how to build and deploy Cloud-Native microservices with Spring Cloud. The advanced features of Spring Boot will be illustrated through powerful examples. We will be introduced to a JVM language that’s quickly gaining popularity – Kotlin. Also, we will discuss how to set up a Kotlin project in Eclipse.

    By the end of the book, you will be equipped with the knowledge and best practices required to develop microservices with the Spring Framework.

    What you will learn

    • Explore the new features in Spring Framework 5.0
    • Build microservices with Spring Boot
    • Get to know the advanced features of Spring Boot in order to effectively develop and monitor applications
    • Use Spring Cloud to deploy and manage applications on the Cloud
    • Understand Spring Data and Spring Cloud Data Flow
    • Understand the basics of reactive programming
    • Get to know the best practices when developing applications with the Spring Framework
    • Create a new project using Kotlin and implement a couple of basic services with unit and integration testing

    About the Author

    Ranga Rao Karanam is a programmer, trainer, and architect. His areas of interest include Cloud Native Applications, microservices, evolutionary design, high-quality code, DevOps, BDD, TDD, and refactoring. He loves consulting for start-ups on developing scalable, component-based Cloud Native applications, and following modern development practices such as BDD, continuous delivery, and DevOps. He loves the freedom the Spring Framework brings to developing enterprise Java applications.

    Ranga started in28minutes with the vision of creating high-quality courses on developing Cloud Native Java applications. He is looking forward to enhancing his already considerable success–75,000 students on Udemy and 35,000 subscribers on YouTube.

    Ranga likes to play cricket and go hiking. His dream is to spend a year hiking the Himalayas.

    Table of Contents

    1. Evolution to Spring Framework 5.0
    2. Dependency Injection
    3. Building a Web Application with Spring MVC
    4. Evolution toward Microservices and Cloud-Native Applications
    5. Building Microservices with Spring Boot
    6. Extending Microservices
    7. Advanced Spring Boot Features
    8. Spring Data
    9. Spring Cloud
    10. Spring Cloud Data Flow
    11. Reactive Programming
    12. Spring Best Practices
    13. Working with Kotlin in Spring

    Author(s): Ranga Rao Karanam

    3. Spring Microservices in Action (2017)

    Summary

    Spring Microservices in Action teaches you how to build microservice-based applications using Java and the Spring platform.

    Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

    About the technology

    Microservices break up your code into small, distributed, and independent services that require careful forethought and design. Fortunately, Spring Boot and Spring Cloud simplify your microservice applications, just as the Spring Framework simplifies enterprise Java development. Spring Boot removes the boilerplate code involved with writing a REST-based service. Spring Cloud provides a suite of tools for the discovery, routing, and deployment of microservices to the enterprise and the cloud.

    About the Book

    Spring Microservices in Action teaches you how to build microservice-based applications using Java and the Spring platform. You’ll learn to do microservice design as you build and deploy your first Spring Cloud application. Throughout the book, carefully selected real-life examples expose microservice-based patterns for configuring, routing, scaling, and deploying your services. You’ll see how Spring’s intuitive tooling can help augment and refactor existing applications with micro services.

    What’s Inside

    • Core microservice design principles
    • Managing configuration with Spring Cloud Config
    • Client-side resiliency with Spring, Hystrix, and Ribbon
    • Intelligent routing using Netflix Zuul
    • Deploying Spring Cloud applications

    About the Reader

    This book is written for developers with Java and Spring experience.

    About the Author

    John Carnell is a senior cloud engineer with twenty years of experience in Java.

    Table of contents

    1. Welcome to the cloud, Spring
    2. Building microservices with Spring Boot
    3. Controlling your configuration with Spring Cloud configuration server
    4. On service discovery
    5. When bad things happen: client resiliency patterns with Spring Cloud and Netflix Hystrix
    6. Service routing with Spring Cloud and Zuul
    7. Securing your microservices
    8. Event-driven architecture with Spring Cloud Stream
    9. Distributed tracing with Spring Cloud Sleuth and Zipkin
    10. Deploying your microservices

    Author(s): John Carnell

    4. Spring in Action: Covers Spring 4 (2014)

    Summary

    Spring in Action, Fourth Edition is a hands-on guide to the Spring Framework, updated for version 4. It covers the latest features, tools, and practices including Spring MVC, REST, Security, Web Flow, and more. You’ll move between short snippets and an ongoing example as you learn to build simple and efficient J2EE applications. Author Craig Walls has a special knack for crisp and entertaining examples that zoom in on the features and techniques you really need.

    Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

    About the Technology

    Designed in 2003 as a lighter approach to J2EE development, Spring Framework has since become a standard choice for building enterprise applications and required knowledge for Java developers. Spring 4, the latest major version, provides full Java 8 integration along with key upgrades like new annotations for the IoC container, improvements to Spring Expression Language, and much-needed support for REST. Whether you’re just discovering Spring or you want to absorb the new features, there’s no better way to master Spring than with this book.

    About the Book

    Spring in Action, Fourth Edition is a hands-on guide to the Spring Framework. It covers Spring core, along with the latest updates to Spring MVC, Security, Web Flow, and more. You’ll move between short snippets and an ongoing example as you learn to build simple and efficient JEE applications. Author Craig Walls has a special knack for crisp and entertaining examples that zoom in on the features and techniques you really need.

    Nearly 100,000 developers have used this book to learn Spring! It requires a working knowledge of Java.

    What’s Inside

    • Updated for Spring 4
    • Spring Data for NoSQL
    • Simplifying configuration with annotations and definition profiles
    • Working with RESTful resources

    About the Author

    Craig Walls is a software developer at Pivotal. He’s a popular author and a frequent speaker at user groups and conferences. Craig lives in Cross Roads, Texas.

    Table of Contents

      PART 1 CORE SPRING
    1. Springing into action
    2. Wiring beans
    3. Advanced wiring
    4. Aspect-oriented Spring
      PART 2 SPRING ON THE WEB
    5. Building Spring web applications
    6. Rendering web views
    7. Advanced Spring MVC
    8. Working with Spring Web Flow
    9. Securing web applications
      PART 3 SPRING IN THE BACKEND
    10. Hitting the database with Spring and JDBC
    11. Persisting data with object-relational mapping
    12. Working with NoSQL databases
    13. Caching data
    14. Securing methods
    15. PART 4 INTEGRATING SPRING
    16. Working with remote services
    17. Creating REST APIs with Spring MVC
    18. Messaging in Spring
    19. Messaging with WebSocket and STOMP
    20. Sending email with Spring
    21. Managing Spring beans with JMX
    22. Simplifying Spring development with Spring Boot

    Author(s): Craig Walls

    5. Reactive Programming With Java 9: Build Asynchronous applications with Rx.Java 2.0, Flow API and Spring WebFlux (2017)

    Key Features

    • Learn about Java 9’s Flow API, Reactive programming along with Kafka and Mockito, and how these aspects are utilized by RxJava
    • Build fast and concurrent applications with ease, without the complexity of Java’s concurrent API and shared states, with the help of Spring
    • Explore a wide variety of code examples to easily get used to all the features and tools provided by RxJava

    Book Description

    Reactive programming is an asynchronous programming model that helps you tackle the essential complexity that comes with writing such applications.

    Using Reactive programming to start building applications is not immediately intuitive to a developer who has been writing programs in the imperative paradigm. To tackle the essential complexity, Reactive programming uses declarative and functional paradigms to build programs. This book sets out to make the paradigm shift easy.

    This book begins by explaining what Reactive programming is, the Reactive manifesto, and the Reactive Streams specifi cation. It uses Java 9 to introduce the declarative and functional paradigm, which is necessary to write programs in the Reactive style. It explains Java 9’s Flow API, an adoption of the Reactive Streams specifi cation. From this point on, it focuses on RxJava 2.0, covering topics such as creating, transforming,fi ltering, combining, and testing Observables. It discusses how to use Java’s popular framework, Spring, to build event-driven, Reactive applications. You will also learn how to implement resiliency patterns using Hystrix. By the end, you will be fully equipped with the tools and techniques needed to implement robust, event-driven, Reactive applications.

    What you will learn

    • Understand the Reactive Manifesto
    • Grasp the Reactive Streams

    Author(s): Tejaswini Mandar Jog

    6. Pro Spring 5: An In-Depth Guide to the Spring Framework and Its Tools (2017)

    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 application: 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

    • Discover what’s new in Spring Framework 5
    • Use the Spring Framework with Java 9
    • Master data access and transactions 
    • Work with the new functional web framework 
    • Create microservices and other web services 

    Who This Book Is For

    Experienced Java and enterprise Java developers and programmers. Some experience with Spring highly recommended.  

    Author(s): Iuliana Cosmina, Rob Harrop

    7. Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry (2017)

    What separates the traditional enterprise from the likes of Amazon, Netflix, and Etsy? Those companies have refined the art of cloud native development to maintain their competitive edge and stay well ahead of the competition. This practical guide shows Java/JVM developers how to build better software, faster, using Spring Boot, Spring Cloud, and Cloud Foundry.

    Many organizations have already waded into cloud computing, test-driven development, microservices, and continuous integration and delivery. Authors Josh Long and Kenny Bastani fully immerse you in the tools and methodologies that will help you transform your legacy application into one that is genuinely cloud native.

    In four sections, this book takes you through:

    • The Basics: learn the motivations behind cloud native thinking; configure and test a Spring Boot application; and move your legacy application to the cloud
    • Web Services: build HTTP and RESTful services with Spring; route requests in your distributed system; and build edge services closer to the data
    • Data Integration: manage your data with Spring Data, and integrate distributed services with Spring’s support for event-driven, messaging-centric architectures
    • Production: make your system observable; use service brokers to connect stateful services; and understand the big ideas behind continuous delivery

    Author(s): Josh Long, Kenny Bastani

    8. Programming Logic and Design, Comprehensive (2014)

    Prepare beginning programmers with the most important principles for developing structured program logic with Farrell’s highly effective PROGRAMMING LOGIC AND DESIGN, COMPREHENSIVE, 8E. This popular text takes a unique, language-independent approach to programming with a distinctive emphasis on modern conventions. The book’s clear, concise writing style eliminates highly technical jargon while introducing universal programming concepts and encouraging a strong programming style and logical thinking. Clear revised explanations utilize flowcharts, pseudocode, and diagrams to ensure even readers with no prior programming experience fully understand modern programming and design concepts. Farrell’s proven learning features help students gain a better understanding of the scope of programming today while common business examples help illustrate key points. Readers can use this proven book alone or paired with a language-specific companion text that emphasizes C++, Java or Visual Basic.

    Author(s): Joyce Farrell

    9. Spring Boot in Action (2016)

    Summary

    A developer-focused guide to writing applications using Spring Boot. You’ll learn how to bypass the tedious configuration steps so that you can concentrate on your application’s behavior.

    Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

    About the Technology

    The Spring Framework simplifies enterprise Java development, but it does require lots of tedious configuration work. Spring Boot radically streamlines spinning up a Spring application. You get automatic configuration and a model with established conventions for build-time and runtime dependencies. You also get a handy command-line interface you can use to write scripts in Groovy. Developers who use Spring Boot often say that they can’t imagine going back to hand configuring their applications.

    About the Book

    Spring Boot in Action is a developer-focused guide to writing applications using Spring Boot. In it, you’ll learn how to bypass configuration steps so you can focus on your application’s behavior. Spring expert Craig Walls uses interesting and practical examples to teach you both how to use the default settings effectively and how to override and customize Spring Boot for your unique environment. Along the way, you’ll pick up insights from Craig’s years of Spring development experience.

    What’s Inside

    • Develop Spring apps more efficiently
    • Minimal to no configuration
    • Runtime metrics with the Actuator
    • Covers Spring Boot 1.3

    About the Reader

    Written for readers familiar with the Spring Framework.

    About the Author

    Craig Walls is a software developer, author of the popular book Spring in Action, Fourth Edition, and a frequent speaker at conferences.

    Table of Contents

    1. Bootstarting Spring
    2. Developing your first Spring Boot application
    3. Customizing configuration
    4. Testing with Spring Boot
    5. Getting Groovy with the Spring Boot CLI
    6. Applying Grails in Spring Boot
    7. Taking a peek inside with the Actuator
    8. Deploying Spring Boot applications
    9. APPENDIXES
    1. Spring Boot developer tools
    2. Spring Boot starters
    3. Configuration properties
    4. Spring Boot dependencies

    Author(s): Craig Walls

    10. Reactive Programming in Kotlin: Design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring (2017)

    Learn how to implement Reactive Programming paradigms with Kotlin, and apply them to web programming with Spring Framework 5.0 and in Android Application Development.

    Key Features

    • Learn how to solve blocking user experience with Reactive Programming and get deep insights into RxKotlin
    • Integrate Reactive Kotlin with Spring and build fantastic Android Apps with RxKotlin and RxAndroid
    • Build reactive architectures that reduce complexity throughout the development process and make your apps(web and Android) scalable

    Book Description

    In today’s app-driven era, when programs are asynchronous, and responsiveness is so vital, reactive programming can help you write code that’s more reliable, easier to scale, and better-performing. Reactive programming is revolutionary.

    With this practical book, Kotlin developers will first learn how to view problems in the reactive way, and then build programs that leverage the best features of this exciting new programming paradigm. You will begin with the general concepts of Reactive programming and then gradually move on to working with asynchronous data streams. You will dive into advanced techniques such as manipulating time in data-flow, customizing operators and provider and how to Use the concurrency model to control asynchronicity of code and process event handlers effectively.

    You will then be introduced to functional reactive programming and will learn to apply FRP in practical use cases in Kotlin. This book will also take you one step forward by introducing you to spring 5 and spring boot 2 using Kotlin. By the end of the book, you will be able to build real-world applications with reactive user interfaces as well as you’ll learn to implement reactive programming paradigms in Android.

    What you will learn

    • Learn about reactive programming paradigms and how reactive programming can improve your existing projects
    • Gain in-depth knowledge in RxKotlin 2.0 and the ReactiveX Framework
    • Use RxKotlin with Android
    • Create your own custom operators in RxKotlin
    • Use Spring Framework 5.0 with Kotlin
    • Use the reactor-kotlin extension
    • Build Rest APIs with Spring,Hibernate, and RxKotlin
    • Use testSubscriber to test RxKotlin applications
    • Use backpressure management and Flowables

    Who This Book Is For

    This book is for Kotlin developers who would like to build fault-tolerant, scalable, and distributed systems. A basic knowledge of Kotlin is required, but no prior knowledge of reactive programming.

    Table of Contents

    1. A Short Introduction to Reactive Programming
    2. Functional Programming with Kotlin and RxKotlin
    3. Observables, Observers, and Subjects
    4. Introduction Backpressure and Flowables
    5. Asynchronous Data Operators and Transformations
    6. More on Operators and Error Handling
    7. Concurrency and Parallel Processing in RxKotlin with Schedulers
    8. Testing RxKotlin Application
    9. Resource Management and Extending RxKotlin
    10. Introduction to Web Programming with Spring for Kotlin Developers
    11. REST API with Spring JPA and Hibernate
    12. Reactive Kotlin and Android

    Author(s): Rivu Chakraborty

    11. Getting started with Spring Framework: covers Spring 5 (2017)

    Chapter 1 of this book is now available onlinebit.ly/2z8ErGg

    4th Edition reflects changes to Spring 5, and includes new chapters on Functional and Reactive application development. Reactive application development chapters cover Reactive Streams specification, RxJava 2, Reactor, Spring WebFlux, and reactive support in Spring Data and Spring Security

    The examples (consisting of 88 sample projects) that accompany this book are based on Spring 5.0.1 and Java 9. You can download the examples described in this book from the following GitHub project: github.com/getting-started-with-spring/4thEdition 

    This book covers: 
    – Spring Framework basics 
    – Aspect-oriented programming 
    – Database interaction using Spring and Hibernate/JPA 
    – Spring Data JPA 
    – Spring Data MongoDB 
    – Messaging, emailing and caching support 
    – Spring Web MVC 
    – Developing RESTful web services using Spring Web MVC 
    – Functional programming using lambdas and method references 
    – Stream API 
    – Reactive programming using RxJava 2 and Reactor 
    – Spring WebFlux 
    – Reactive support in Spring Data MongoDB and Spring Security 
    – Developing reactive RESTful web services using Spring WebFlux, Spring Security and Spring Data MongoDB

    Author(s): J Sharma, Ashish Sarin

    12. Web Application with Spring Annotation-Driven Configuration: Rapidly develop lightweight Java web applications using Spring with annotations (2016)

    This book is intended to be used as a reference for any Java developer who needs short but concise explanation and code snippets to solve their specific day-by-day problems, or simply willing to create lightweight Java Web Application using Spring Framework focusing on annotation-driven configuration. All the addressed chapters and code snippets within it, are available as full runnable web application through the examples. To summarize, what is used here is Java 8, Spring Framework version 4.3.3, Servlet specification 3.1, Log4j 2.6, Maven model version 4, Hibernate 5.1.2, JPA 2.1, Eclipse Neon and Tomcat 8.

    Author(s): Mr Juliano Alves Cassoli