وبلاگ بلیان

PRO SPRING BOOT 3 : an authoritative guide with best practices

معرفی کتاب «PRO SPRING BOOT 3 : an authoritative guide with best practices» نوشتهٔ Gigi Styx و Felipe Gutierrez، منتشرشده توسط نشر Apress L. P. در سال 2024. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

This book will teach you how to build complex Spring applications and microservices out of the box, with minimal concern over things like configurations. Pro Spring Boot 3 will show you how to fully leverage Spring Boot 3's robust features and how to apply them to create enterprise-ready applications, microservices, and web/cloud applications that just work. Special focus is given to what's been added in the new Spring Boot 3 release, including support for Java 17 and 19; changes to Spring Security; Spring Boot Actuator with Micrometer updates; GraalVM support; RSocket service interfaces; many dependency upgrades; more flexible support for Spring Data JDBC, the new AOT (Ahead-of-Time Transformation); and much more. This book is your authoritative, pragmatic guide for increasing your enterprise Java and cloud application productivity while decreasing development time. It's a no-nonsense reference packed with casestudies that increase in complexity over the course of the book. The author, a senior solutions architect and Principal Technical instructor with VMware, the company behind the Spring Framework, shares his experience, insights, and firsthand knowledge about how Spring Boot technology works and best practices for getting the most out of it. This is an essential book for your Spring learning and reference library. What You Will Learn Build web/cloud, microservices, and enterprise applications with the Spring Boot 3 framework Persist data with JDBC, JPA, and NoSQL databases Message with JMS, RabbitMQ, WebSockets, and RSocket Gain a review of Spring Cloud projects Extend Spring Boot by creating your own Spring Boot Starter and @Enable feature Test and deploy with Spring Boot with best practices Understand the new AOT (Ahead-Of-Time Transformations) and the GraalVM support to go native Use the latest version of Spring Security Who This Book Is For Experienced Spring and Java developers seeking increased productivity gains and decreased complexity and development time in their applications and software services. Table of Contents About the Author About the Technical Reviewer Acknowledgments Part I: Introductions Chapter 1: Spring Boot Quick Start Project: Users App Initial Setup Start @ start.spring.io Testing the Users App Project Running the UserApplicationTests Class Running the Users App Project Creating the Users App Project Using Kotlin Testing the Users App Project with Kotlin Running the Users App Project with Kotlin Why Spring Boot? Spring Boot Features Summary Chapter 2: Spring Boot Internals Requirements to Create a Spring Boot App Project: My Retro App Auto-Configuration @EnableAutoConfiguration, @Enable , and @Conditional* Annotations @EnableAutoConfiguration @Enable @Conditional* Spring Boot Features Custom Banner SpringApplicationBuilder Application Arguments Executable JAR ApplicationRunner, CommandLineRunner, and ApplicationReadyEvent Application Configuration My Retro App and Users App Project Integration Configuration Properties Relaxed Binding Configuration Precedence Changing Defaults Application Profiles Summary Chapter 3: Spring Boot Web Development Spring MVC Spring Boot MVC Auto-Configuration My Retro App Project Adding Dependencies AOP to the Rescue Spring Web Annotated Controllers Testing My Retro App Users App Project Spring Web Functional Endpoints Testing the Users App Spring Boot Web: Overriding Defaults Overriding Default Server Settings JSON Date Format Using a Different Application Container Spring Boot Web Clients Testing the Client Summary Chapter 4: Spring Boot SQL Data Access Spring Boot Features for SQL Databases Spring Framework Data Access JDBC with Spring Boot Users App: Using Spring Boot JDBC Gravatar - https://gravatar.com: Identifying the User Model: enum and record Types JdbcTemplate and RowMapper Adding the Web Controller Adding Users when the App Is Ready Database Initialization Testing the Users App But wait... what happen with our Tests? Running the Users App Using PostgreSQL My Retro App: Using Spring Boot JDBC Running the My Retro App But wait... what... again? Summary Chapter 5: Spring Data with Spring Boot Spring Data Spring Data JDBC Spring Data JDBC with Spring Boot Users App with Spring Boot and Spring Data JDBC Testing the Users App Running the Users App My Retro App with Spring Boot and Spring Data JDBC Running the My Retro App Spring Data JPA Spring Data JPA with Spring Boot Users App with Spring Boot and Spring Data JPA Testing and Running the Users App My Retro App Using Spring Boot and Spring Data JPA Running the My Retro App Spring Data REST Spring Data REST with Spring Boot Users App Using Spring Boot and Spring Data REST Running the Users App Testing the Users App My Retro App Using Spring Boot and Spring Data REST Run the My Retro App Summary Chapter 6: Spring Data NoSQL with Spring Boot Spring Data MongoDB Spring Data MongoDB with Spring Boot Users App with Spring Data MongoDB and Spring Boot Testing the Users App Running the Users App My Retro App with Spring Data MongoDB Using Spring Boot Running My Retro App Spring Data Redis Spring Data Redis with Spring Boot Users App with Spring Data Redis Using Spring Boot Testing the Users App Running the Users App My Retro App with Spring Data Redis Using Spring Boot Running the My Retro App Summary Chapter 7: Spring Boot Reactive Reactive Systems The Reactive Manifesto Project Reactor Mono , an Asynchronous [0|1] Result Flux : An Asynchronous Sequence of [0|N] Items Reactive Web and Data Applications with Spring Boot Users App with Spring Boot Reactive Testing the Users App Running the Users App My Retro App with Spring Boot Reactive Running My Retro App Summary Chapter 8: Spring Boot Testing Spring Testing Framework Spring Boot Testing Framework Testing Web Apps with a Mock Environment Using Mocking and Spying Beans Testcontainers Spring Boot Testing Slices @JsonTest @WebMvcTest @DataJpaTest @WebFluxTest @DataMongoTest Using Testcontainers to Run Your Spring Boot Applications Summary Part II: More on Spring Boot 3 Chapter 9: Spring Boot Security Spring Security Spring Security with Spring Boot Adding Security to the Users App Users App Web Controller Testing Security in the Users App Mocking Security Tests Using Persistence for Security Authentication in the Users App Using Custom Persistence for Your Authentication Security Connecting a UI to the Users App Users Front End/Back End: Let’s Give It a Try! Adding Security to the My Retro App Unit Testing My Retro App Security for Authorization Putting Everything Together: UI, Users App, and Retro App Adding Social Login with OAuth2 Social Login to the Users App Running the Users App with Social Login Spring Authorization Server Getting Started Using Spring Authentication Server with the Users App Running the Users App Wait... and My Retro App? Summary Chapter 10: Messaging with Spring Boot Messaging As a Concept Messaging with Spring Boot Events with Spring Boot Adding Events to the Users App JMS with Spring Boot Which Broker Are We Using? Users App with JMS Running the Users App Listen for Incoming User Events with JMS Rerunning the Users App Using JMS Topics with My Retro App Running My Retro App AMQP with Spring Boot Installing RabbitMQ RabbitMQ/AMQP: Exchanges, Bindings, and Queues Using AMQP with RabbitMQ in the Users App Publishing Messages to RabbitMQ Running the Users App with RabbitMQ Consuming Messages from RabbitMQ Running the Users App with RabbitMQ to Consume Messages Using RabbitMQ in My Retro App to Consume User Events Running the My Retro App to Listen for User Events from RabbitMQ WebSockets with Spring Boot Adding WebSockets to the Users App Using the WebSocket Client in the Users App to Consume Events Running the Users App with WebSockets Using WebSockets in My Retro App to Consume Events Running My Retro App Using WebSockets/Stomp RSocket with Spring Boot Using RSocket with the Users App with Spring Boot Running the Users App with RSocket and Spring Boot Requesting RSocket Messages in My Retro App Running the RSocket Requester in My Retro App with Spring Boot Other Messaging Frameworks Summary Chapter 11: Spring Boot Actuator What Is Spring Boot Actuator? Users App with Spring Boot Actuator /actuator Configuring /Actuator Endpoints Using Spring Profiles for Actuator Endpoints Enabling Actuator Endpoints /actuator/info /actuator/env /actuator/beans /actuator/conditions /actuator/configprops /actuator/heapdump /actuator/threaddump /actuator/mappings /actuator/loggers /actuator/metrics /actuator/shutdown Adding Security /actuator/auditevents Implementing Custom Actuator Endpoints Accessing Custom Endpoints with JMX More Spring Boot Actuator Configuration CORS Support Changing the Server Address, Port, and Base Path Using SSL with Spring Boot Actuator Configuring Endpoints Overview of /actuator/health Health Indicators A Custom Health Indicator for the Users App My Retro App with Spring Boot Actuator Observability: Metrics, Logs, and Tracing Adding Observability into My Retro App Adding Custom Metrics and Observations Adding an External Request with the New @HttpExchange Adding Logging Using Grafana Loki Declaring Services in Docker Compose Ready to Run! Observing with Grafana and Prometheus—Metrics, Logs, and Tracing What About External Resources: Memory, CPU, Storage? Summary Chapter 12: Spring Boot Native and AOT What is Spring AOT? What Is GraalVM? Benefits of Using GraalVM Examples of Using GraalVM Spring, Spring Boot, and GraalVM AOT Processing in Spring Creating GraalVM Native Apps Creating a Native Users App Creating a Native My Retro App GraalVM Native Images, wait... what? Creating a Users App Native Image Inspecting the Users Native Image Creating a My Retro App Native Image Inspecting the My Retro Native Image Testing Native Apps and Images AOT Processing with Custom Hints Summary Chapter 13: Spring Cloud with Spring Boot Challenges Addressed by Spring Cloud Microservices Twelve-Factor App Practices and Spring Boot/Spring Cloud Relationship Cloud Development Using Spring Cloud Technologies HashiCorp Consul and Spring Cloud Consul HashiCorp Consul Using HashiCorp Consul Spring Cloud Consul Using Spring Cloud Consul in the Users App Running the Users App with Spring Consul Reviewing the UserProperties? Using a YAML format Instead of a Key/Value Pair As a Configuration Using Spring Cloud Consul in the My Retro App Using OpenFeign in My Retro App Running the My Retro App HashiCorp Vault and Spring Cloud Vault HashiCorp Vault Using HashiCorp Vault with Credentials Creation for PostgreSQL Spring Cloud Vault Implementing Credential Generation on the Users Service App Using HashiCorp Vault Running the Users App with Vault Fixing Credential Rotation by Adding a Listener Spring Cloud Gateway Creating a My Retro Gateway Running the My Retro Gateway More Gateway Features CircuitBreaker Filter Adding the CircuitBreaker Filter to My Retro Gateway App Integraging the Cloud Enbvironment in Docker Compose Creating Multi-Architecture Images Using a Cloud Platform: Kubernetes Using Kubernetes Prerequisites: Installation Starting Minikube Creating the Postgres Deployment ConfigMap PersistentVolume and PersistentVolumeClaim Deployment Service Installing the Declarations Deployin Microservices in Kubernetes: Users App, My Retro App, My Retro Gateway App Deployments ClusterRole and ClusterRoleBinding Users Deployment and Service My Retro Deployment and Service My Retro Gateway ConfigMap, Deployment, and Service Access to the My Retro Gateway: Using Port-Forward Cleaning Up Summary Chapter 14: Extending Spring Boot Benefits of a Custom Starter Revisiting @Conditional and @Enable Requirements of Our Custom Spring Boot Starter Rules and Guidelines for a Custom Spring Boot Starter Creating My Retro Spring Boot Starter Building the myretro-spring-boot-starter Custom Starter Publishing the Custom Starter in GitHub As a Maven Artifact Using the myretro-spring-boot-starter Custom Starter Running the Users App with myretro-spring-boot-starter Summary Chapter 15: Spring Boot New Projects Spring Modulith Comparing Spring Modulith with Microservices Choosing the Right Approach Fundamentals Understanding Module Packages in Spring Boot Using Spring Modulith in My Retro Solution Running the My Retro Solution Spring AI AI Concepts Models Prompts Prompt Templates Embeddings Tokens Teaching AI New Tricks: Beyond the Training Dataset Create a Chat GPT Client Running the App Summary Appendix A: Spring Boot Migration Migrating Spring Security Using HttpSecurity WebSecurity Configuration LDAP Authentication In-Memory Authentication JDBC Authentication Upgrade to Spring Boot 3 Using Configuration Properties Migration Spring Boot Migrator Summary Appendix B: Spring Boot GraphQL What Is GraphQL? Spring for GraphQL Spring for GraphQL and Spring Boot: A Match Made in Developer Heaven Using GraphQL in the Users App Users GraphQL Controller Users GraphQL Schema Running the Users App Using GraphQL in the My Retro App Summary Index This book will teach you how to build complex Spring applications and microservices out of the box, with minimal concern over things like configurations. Pro Spring Boot 3 will show you how to fully leverage Spring Boot 3's robust features and how to apply them to create enterprise-ready applications, microservices, and web/cloud applications that just work. Special focus is given to what's been added in the new Spring Boot 3 release, including support for Java 17 and 19; changes to Spring Security; Spring Boot Actuator with Micrometer updates; GraalVM support; RSocket service interfaces; many dependency upgrades; more flexible support for Spring Data JDBC, the new AOT (Ahead-of-Time Transformation); and much more. This book is your authoritative, pragmatic guide for increasing your enterprise Java and cloud application productivity while decreasing development time. It's a no-nonsense reference packed with case studies that increase in complexity over the course of the book. The author, a senior solutions architect and Principal Technical instructor with VMware, the company behind the Spring Framework, shares his experience, insights, and firsthand knowledge about how Spring Boot technology works and best practices for getting the most out of it. This is an essential book for your Spring learning and reference library. What You Will Learn Who This Book Is For Experienced Spring and Java developers seeking increased productivity gains and decreased complexity and development time in their applications and software services.
دانلود کتاب PRO SPRING BOOT 3 : an authoritative guide with best practices