𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Learning Spring Boot 3.0: Simplify the development of production-grade applications using Java and Spring, 3rd Edition

✍ Scribed by Greg L. Turnquist


Publisher
Packt Publishing
Year
2022
Tongue
English
Leaves
271
Edition
3
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Build Java web apps without wasting any time with this third edition of the best-selling Spring Boot guide for beginners, updated and enhanced with defining features of Spring Boot 3

Purchase of the print or Kindle book includes a free eBook PDF

Key Features

  • Learn Spring Boot in a cohesive manner with this practical guide by a core Spring contributor
  • Discover popular Java developer tools such as GraalVM native images, serving up JSON, and more
  • Build secure, scalable, and manageable web applications from zero to production

Book Description

Spring Boot 3 brings more than just the powerful ability to build secure web apps on top of a rock-solid database. It delivers new options for testing, deployment, Docker support, and native images for GraalVM, along with ways to squeeze out more efficient usage of existing resources.

This third edition of the bestseller starts off by helping you build a simple app, and then shows you how to secure, test, bundle, and deploy it to production. Next, you'll familiarize yourself with the ability to go "native" and release using GraalVM. As you advance, you'll explore reactive programming and get a taste of scalable web controllers and data operations. The book goes into detail about GraalVM native images and deployment, teaching you how to secure your application using both routes and method-based rules and enabling you to apply the lessons you've learned to any problem. If you want to gain a thorough understanding of building robust applications using the core functionality of Spring Boot, then this is the book for you.

By the end of this Spring Boot book, you'll be able to build an entire suite of web applications using Spring Boot and deploy them to any platform you need.

What you will learn

  • Create powerful, production-grade web applications with minimal fuss
  • Support multiple environments with one artifact, and add production-grade support with features
  • Find out how to tweak your Java apps through different properties
  • Enhance the security model of your apps
  • Make use of enhancing features such as native deployment and reactive programming in Spring Boot
  • Build anything from lightweight unit tests to fully running embedded web container integration tests
  • Get a glimpse of reactive programming and decide if it's the right approach for you

Who this book is for

This book is for both novices and experienced Spring developers looking to learn how to build applications without wasting time on infrastructure and other tedious details. Working knowledge of the Java programming language is assumed.

Table of Contents

  1. Core Features of Spring Boot
  2. Creating a Web Application with Spring Boot
  3. Querying for Data with Spring Boot
  4. Securing an Application with Spring Boot
  5. Testing with Spring Boot
  6. Configuring an Application with Spring Boot
  7. Releasing an Application with Spring Boot
  8. Going Native with Spring Boot
  9. Writing Reactive Web Controllers
  10. Working with Data Reactively

✦ Table of Contents


Cover
Title Page
Copyright and Credits
Forewords
Contributors
Table of Contents
Preface
Part 1: The Basics of Spring Boot
Chapter 1: Core Features of Spring Boot
Technical requirements
Installing Java 17
Installing a modern IDE
Creating a GitHub account
Finding additional support
Autoconfiguring Spring beans
Understanding application context
Exploring autoconfiguration policies in Spring Boot
Adding portfolio components using Spring Boot starters
Customizing the setup with configuration properties
Creating custom properties
Externalizing application configuration
Configuring property-based beans
Managing application dependencies
Summary
Part 2: Creating an Application with Spring Boot
Chapter 2: Creating a Web Application with Spring Boot
Using start.spring.io to build apps
Creating a Spring MVC web controller
Using start.spring.io to augment an existing project
Leveraging templates to create content
Adding demo data to a template
Building our app with a better design
Injecting dependencies through constructor calls
Changing the data through HTML forms
Creating JSON-based APIs
Hooking in Node.js to a Spring Boot web app
Bundling JavaScript with Node.js
Creating a React.js app
Summary
Chapter 3: Querying for Data with Spring Boot
Adding Spring Data to an existing Spring Boot application
Using Spring Data to easily manage data
Adding Spring Data JPA to our project
DTOs, entities, and POJOs, oh my!
Entities
DTOs
POJOs
Creating a Spring Data repository
Using custom finders
Sorting the results
Limiting query results
Using Query By Example to find tricky answers
Using custom JPA
Summary
Chapter 4: Securing an Application with Spring Boot
Adding Spring Security to our project
Creating our own users with a custom security policy
Swapping hardcoded users with a Spring Data-backed set of users
Securing web routes and HTTP verbs
To CSRF or not to CSRF, that is the question
Securing Spring Data methods
Updating our model
Taking ownership of data
Adding a delete button
Locking down access to the owner of the data
Enabling method-level security
Displaying user details on the site
Leveraging Google to authenticate users
Pros of using OAuth
Cons of using OAuth
Creating a Google OAuth 2.0 application
Adding OAuth Client to a Spring Boot project
Invoking an OAuth2 API remotely
Creating an OAuth2-powered web app
Summary
Chapter 5: Testing with Spring Boot
Adding JUnit 5 to the application
Creating tests for your domain objects
Testing web controllers with MockMVC
Testing data repositories with mocks
Testing data repositories with embedded databases
Adding Testcontainers to the application
Testing data repositories with Testcontainers
Testing security policies with Spring Security Test
Summary
Part 3: Releasing an Application with Spring Boot
Chapter 6: Configuring an Application with Spring Boot
Creating custom properties
Creating profile-based property files
Switching to YAML
Setting properties with environment variables
Ordering property overrides
Summary
Chapter 7: Releasing an Application with Spring Boot
Creating an uber JAR
Baking a Docker container
Building the β€œright” type of container
Releasing your application to Docker Hub
Tweaking things in production
Scaling with Spring Boot
Summary
Chapter 8: Going Native with Spring Boot
What is GraalVM and why do we care?
Retrofitting our application for GraalVM
Running our native Spring Boot application inside GraalVM
Why do we want GraalVM again?
Baking a Docker container with GraalVM
Spring Boot 3.0 versus Spring Boot 2.7 and Spring Native
GraalVM and other libraries
Summary
Part 4: Scaling an Application with Spring Boot
Chapter 9: Writing Reactive Web Controllers
What is reactive and why do we care?
Introduction to Reactive
Reactive Stream details
Creating a reactive Spring Boot application
Serving data with a reactive GET method
Consuming incoming data with a reactive POST method
Scaling applications with Project Reactor
Quick history on Java concurrent programming
Serving a reactive template
Creating a reactive web controller
Crafting a Thymeleaf template
Creating hypermedia reactively
Summary
Chapter 10: Working with Data Reactively
Learning what it means to fetch data reactively
Picking a reactive data store
Creating a reactive data repository
Trying out R2DBC
Loading data with R2dbcEntityTemplate
Returning data reactively to an API controller
Reactively dealing with data in a template
Summary
Index
Other Books You May Enjoy


πŸ“œ SIMILAR VOLUMES


Learning Spring Boot 2.0 - Second Editio
✍ Greg L. Turnquist πŸ“‚ Library πŸ“… 2017 πŸ› Packt Publishing - ebooks Account 🌐 English

<h4>Key Features</h4><ul><li>Get up to date with the defining characteristics of Spring Boot 2.0 in Spring Framework 5</li><li>Learn to perform Reactive programming with SpringBoot</li><li>Learn about developer tools, AMQP messaging, WebSockets, security, MongoDB data access, REST, and more</li></ul

Spring Boot 2.0 Projects: Build producti
✍ Mohamed Shazin Sadakath πŸ“‚ Library πŸ“… 2020 πŸ› Packt Publishing 🌐 English

Spring Boot 2.0 Projects: Build production-grade reactive applications and microservices with Spring Boot (English Edition) BY Mohamed Shazin Sadakath Publisher Packt Publishing γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€ γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€γ…€

Learn Java for Android Development, 3rd
✍ Jeff Friesen πŸ“‚ Library πŸ“… 2014 πŸ› Apress 🌐 English

Learn Java for Android Development, Third Edition, is an update of a strong selling book that now includes a primer on Android app development (in Chapter 1 and Appendix C, which is distributed in the book's code archive). This book teaches programmers the essential Java language skills necessary fo

Learning Spring Application Development:
✍ Ravi Kant Soni πŸ“‚ Library πŸ“… 2015 πŸ› Packt Publishing 🌐 English

With this practical guide, you will learn best practices through real-world projects and follow a simple, practical approach to developing high performance and enterprise-grade Java applications with Spring. Starting with the architecture of the Spring Framework and setting up the key components of

Spring Boot 3.0 Cookbook: Proven recipes
✍ Felip Miguel Puig πŸ“‚ Library πŸ“… 2024 πŸ› Packt Publishing Pvt Ltd 🌐 English

Tackle the complexities of modern web applications by understanding the uses of Spring Boot's cloud design patterns to build scalable and resilient applications Key Features - Discover practical recipes for real cloud-scale application challenges - Explore what Spring Boot offers to make your a