0%

Book Description

With over 75 million downloads per month, Spring Boot is the most widely used Java framework available. Its ease and power have revolutionized application development from monoliths to microservices. Yet Spring Boot’s unrivaled versatility can also be a bit confusing. How do developers learn enough to be productive immediately? This practical book shows you how to use this framework to write successful mission-critical applications.

Mark Heckler from VMware, the company behind Spring, guides you through Spring Boot’s architecture and approach, along with topics such as debugging, testing, and deployment. If you want to develop cloud native Java or Kotlin applications with Spring Boot rapidly and effectively—using reactive programming, building APIs, and creating database access of all kinds—this book is for you.

  • Learn how Spring Boot simplifies cloud native application development and deployment
  • Build reactive applications and extend communication across the network boundary to create distributed systems
  • Understand how Spring Boot’s architecture and developer-first opinions increase developer productivity and application portability
  • Deploy Spring Boot applications for production workloads rapidly and reliably
  • Monitor application and system health for optimal performance and reliability
  • Debug, test, and secure cloud-based applications painlessly

Table of Contents

  1. Preface
    1. Conventions Used in This Book
    2. O’Reilly Online Learning
    3. How to Contact Us
  2. 1. Spring Boot in a Nutshell
    1. Spring Boot’s Three Foundational Features
      1. Starters for Simplified Dependency Management
      2. Executable JARs for Simplified Deployment
      3. Autoconfiguration
    2. Summary
  3. 2. Choosing Your Tools and Getting Started
    1. Maven or Gradle?
      1. Apache Maven
      2. Gradle
      3. Choosing between Maven and Gradle
    2. Java or Kotlin?
      1. Java
      2. Kotlin
      3. Choosing between Java and Kotlin
    3. Choosing a Version of Spring Boot
    4. The Spring Initializr
    5. Straight Outta Commandline
    6. Staying in Integrated Development Environments (IDEs)
    7. Cruising down main()
    8. Summary
  4. 3. Creating Your first Spring Boot REST API
    1. The Hows and Whys of APIs
    2. What is REST and Why Does it Matter?
    3. Your API, HTTP Verb Style
      1. GET-ting
      2. POST-ing
      3. PUT-ting
      4. DELETE-ing
      5. And More
    4. Trust, but Verify
    5. Summary
  5. 4. Adding Database Access to Your Spring Boot App
    1. Priming Autoconfig for Database Access
    2. What do We Hope to Gain?
      1. Adding a Database Dependency
      2. Adding Code
    3. Saving and Retrieving Data
    4. A Bit of Polishing
    5. Summary
  6. 5. Configuring and Inspecting Your Spring Boot App
    1. Application Configuration
      1. @Value
      2. @ConfigurationProperties
      3. Potential “third-party” option
    2. Autoconfiguration report
    3. Actuator
      1. Getting Actuator to Open Up
      2. Becoming More Environmentally Aware using Actuator
      3. Turning Up the Volume on Logging with Actuator
    4. Summary
  7. 6. Really Digging into Data
    1. Defining Entities
    2. Template Support
    3. Repository Support
    4. @Before
    5. Creating a Template-based Service using Redis
      1. Initializing the Project
      2. Developing the Redis Service
    6. Converting from Template to Repository
    7. Creating a Repository-based Service using the Java Persistence API (JPA)
      1. Initializing the Project
      2. Developing the JPA (MySQL) Service
      3. Loading Data
    8. Creating a Repository-based Service using a NoSQL Document Database
      1. Initializing the Project
      2. Developing the MongoDB Service
    9. Creating a Repository-based Service using a NoSQL Graph Database
      1. Initializing the Project
      2. Developing the Neo4j Service
    10. Summary
  8. 7. Creating Imperative Applications using Spring MVC
    1. Spring MVC: What Does it Mean?
    2. End User Interactions using Template Engines
      1. Initializing the Project
      2. Developing the Aircraft Positions Application
    3. Passing Messages
      1. Powering Up PlaneFinder
      2. Extending the Aircraft Positions Application
    4. Creating Conversations with WebSocket
      1. What is WebSocket?
      2. Refactoring the Aircraft Positions Application
    5. Summary
3.146.65.212