Learning Spring Boot 3.0: Simplify the development of production-grade applications using Java and Spring, 3rd Edition
- Length: 270 pages
- Edition: 3
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2022-12-30
- ISBN-10: 1803233303
- ISBN-13: 9781803233307
- Sales Rank: #466707 (See Top 100 Books)
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.
Learning Spring Boot 3.0 Third Edition Forewords Contributors About the author About the reviewer Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Share Your Thoughts Download a free PDF copy of this book 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 Why subscribe? Other Books You May Enjoy Packt is searching for authors like you Share Your Thoughts Download a free PDF copy of this book
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/PacktPublishing
2. In the Find a repository… box, search the book title: Learning Spring Boot 3.0: Simplify the development of production-grade applications using Java and Spring, 3rd Edition
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.