Spring Boot 2.0 projects build production-grade reactive applications and microservices with Spring Boot

Develop diverse real-life projects including most aspects of Spring Boot Key Features Run production-grade based applications using the Spring WebFlux framework Learn to develop high performance, asynchronous applications with Spring Boot Create robust microservice-based applications with Kotlin usi...

Full description

Bibliographic Details
Other Authors: Antonov, Alex, author (author)
Format: eBook
Language:Inglés
Published: Birmingham ; Mumbai : Packt Publishing 2018.
Edition:1st edition
Subjects:
See on Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630465506719
Table of Contents:
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • Packt Upsell
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Introduction
  • Technical requirements
  • Generating Spring Boot Projects
  • Opening the generated project with IntelliJ
  • Opening the generated project with STS
  • Getting started with Spring Boot
  • Learning about Spring Boot
  • Anatomy of a Spring Boot application
  • Supporting the Spring Framework ecosystem in Spring Boot
  • Changes since Spring Boot 1.x
  • Registering a Spring Bean using ApplicationContextInitializer
  • Configuration property binding
  • New property binding API
  • Property origin
  • Tightened rules for governing relaxed property binding
  • Environment variables with indices
  • Direct binding of property type java.time.Duration in the ISO-8601 form
  • Custom endpoints for Spring Boot Actuator using annotations
  • Exposing a custom Spring Boot Actuator endpoint
  • Extending a custom endpoint with a specialized implementation for the web
  • Connecting to a custom endpoint using monitoring and management tools
  • Custom metrics using Micrometer
  • Custom health indicator
  • Using the HTTP/2 protocol
  • Securing applications with Spring Security
  • The next milestone
  • Migration
  • Using the correct JDK and JVM
  • Running on Java 9
  • Tackling JAXBException
  • Using the correct AspectJ version
  • Being aware of limitations on Apache Cassandra drivers
  • Being aware of issues with the Maven Surefire Plugin
  • Using the upgraded Spring Framework 5.0
  • Modified CORS support behavior
  • Removed packages, classes, and methods
  • Dropped support for frameworks
  • Using the updated configuration properties
  • Using the changed servlet-specific server properties
  • Using the modified template engine extension handling
  • Using the changed actuator configuration properties.
  • Using the changed actuator base path
  • Using the renamed actuator endpoints
  • Using the changed Embedded Container Configuration
  • Using the changed default behavior for path mapping
  • Using the changed default dispatcher types for the servlet filter
  • Using the modified transitive dependency to spring-boot-web-starter
  • Using the changed default proxying strategy
  • Using the modified configuration location strategy
  • Using the changed Jackson/JSON support
  • Using the changed Spring Boot Actuator security
  • Using the changed HikariCP default connection pool for JPA
  • Using the changed default database initialization strategy
  • Using the changed database schema creation strategy
  • Using the changed testing support
  • Using the revised Spring Security
  • Using the changed default security auto-configuration strategy
  • Spring Security OAuth2 is migrated to Spring Security core
  • Using the AuthenticationManager bean
  • Understanding removed features
  • Summary
  • Questions
  • Further reading
  • Chapter 2: Building a Basic Web Application
  • Technical requirements
  • Getting started
  • Web application architecture
  • Workflow of Spring Web MVC
  • Requirements for our web application
  • The use case diagram
  • Using Spring Data JPA for persistence
  • Understanding the Java Persistence API (JPA)
  • Understanding Spring Data JPA
  • Class diagram for the domain model
  • Implementation of the domain model using JPA annotations
  • Setting up dependencies and configuration
  • Implementing the domain model
  • Implementation of Spring Data JPA repositories
  • Testing Spring Data JPA repositories
  • Using Spring Boot Devtools for database visualization
  • Using Services to encapsulate business logic
  • Testing Services
  • Using Spring Thymeleaf for the view
  • Understanding template engines
  • Spring Thymeleaf
  • UI design for the Retro Board.
  • UI implementation for the Retro Board using Spring Thymeleaf
  • Using Spring Web MVC with servlet 3.x for the controller
  • Implementation of Controllers annotations
  • Testing controllers
  • Using Spring Security for authentication and authorization
  • Demonstrating the Retro Board
  • Summary
  • Questions
  • Further reading
  • Chapter 3: Building a Simple Blog Management System
  • Technical requirements
  • Getting started
  • Web application architecture
  • Workflow of Spring WebFlux
  • Requirements of the Bloggest system
  • The use case diagram
  • Using Spring Data Elasticsearch for persistence
  • Understanding Elasticsearch
  • Understanding Spring Data Elasticsearch
  • Class diagram for the domain model
  • Implementation of the domain model using Spring Data Elasticsearch annotations
  • Setting up dependencies and configuration classes
  • Implementing the domain model
  • Implementation of Spring Data Elasticsearch repositories
  • Using Apache FreeMarker for the view
  • Understanding template engines
  • Apache FreeMarker
  • UI design for Bloggest
  • UI implementation for Bloggest using Apache FreeMarker
  • Implementing a common layout using Apache FreeMarker
  • Implementing a List Articles page
  • Implementing a Create Article page
  • Implementing a Show Article page
  • Implementing an error page
  • Using Spring WebFlux for controller
  • Implementation of controllers
  • Implementation of ControllerAdvice
  • Using Spring Security for authentication and authorization
  • Demonstrating Bloggest
  • Summary
  • Questions
  • Further reading
  • Chapter 4: Introduction to Kotlin
  • Technical requirements
  • Getting started with Kotlin
  • Default imports
  • Basic data types
  • Numeric data types
  • Learning numeric literals
  • Numeric representation
  • Numeric operations
  • String literals
  • The syntax for Kotlin code
  • The Kotlin packages.
  • String interpolation
  • Functions in Kotlin
  • Variables in Kotlin
  • Conditional statements
  • The if statement
  • The when statement
  • Type checking and automatic casting
  • Nullable values and compile-time null safety
  • The for loop
  • The for loop with an array
  • The for loop with a collection
  • The for loop with a value range
  • The while loop
  • Object-oriented programming with Kotlin
  • Learning about visibility modifiers
  • Classes in Kotlin
  • Abstract classes
  • Concrete classes
  • The concept of interfaces in Kotlin
  • Learning about extensions
  • Generic types in Kotlin
  • Enums in Kotlin
  • Objects in Kotlin
  • Object expressions
  • Object declarations
  • Companion objects
  • Advanced programming with Kotlin
  • Functions
  • Infix notation in functions
  • Local functions in Kotlin
  • Default arguments in functions
  • Named arguments in functions
  • Generics in functions
  • Variable number of arguments (vararg) in functions
  • Summary
  • Questions
  • Further reading
  • Chapter 5: Building a Reactive Movie Rating API Using Kotlin
  • Technical requirements
  • Getting started
  • REST architecture
  • Requirements of REST architecture
  • The use case diagram
  • Using Spring Data MongoDB for persistence
  • Understanding MongoDB
  • Understanding Spring Data MongoDB
  • Class diagram for the domain model
  • Implementation of the domain model using Spring Data MongoDB annotations
  • Setting up dependencies and configuration
  • Implementing the domain model
  • Implementing of Spring Data MongoDB repositories
  • Using a service to encapsulate business logic
  • Testing Services
  • Using Spring WebFlux for controllers
  • Implementation of controllers
  • Testing controllers
  • Using Spring Security for basic authorization
  • Demonstrating Moviee
  • Integration testing
  • Demonstrating the use of Postman
  • Accessing the List Movies endpoint.
  • Accessing the Get Movie endpoint
  • Accessing the Get Movie endpoint with an invalid Movie ID
  • Accessing the Rate Movie endpoint
  • Summary
  • Questions
  • Further reading
  • Chapter 6: Building an API with Reactive Microservices
  • Technical requirements
  • Getting started
  • Microservices architecture
  • The requirements of microservices architecture
  • The use case diagram
  • The project structure to develop microservices
  • Using Spring Data Redis for persistence
  • Understanding Redis
  • Understanding Spring Data Redis
  • Class diagram for the domain model
  • Implementation of domain model using Spring Data Redis annotations
  • Setting up dependencies and configuration
  • Implementing the domain model
  • Implementation of Spring Data Redis repositories
  • Using a Service to encapsulate business logic
  • Using Spring WebFlux for a controller
  • Implementation of controllers
  • Using asynchronous data transfer for cross-microservice communication
  • Asynchronous data transfer using Redis
  • Using Docker to support microservices
  • Understanding Docker
  • Using Maven to build Docker images
  • Building a system of microservices with Docker
  • Deploying microservices with Docker
  • Demonstrating Saber
  • Submitting to the Register Taxi endpoint
  • Submitting location to update Taxi Location endpoint
  • Submitting to Update Taxi Status endpoint
  • Accessing the Get Taxi Status endpoint
  • Accessing the GET available Taxis endpoint
  • Submitting to Book Taxi endpoint
  • Submitting to Accept Taxi Booking endpoint
  • Submitting to cancel Taxi Booking endpoint
  • Accessing Taxi Bookings endpoint
  • Summary
  • Questions
  • Further reading
  • Chapter 7: Building a Twitter Clone with Spring Boot
  • Technical requirements
  • Getting started
  • Beginning with the Tweety architecture
  • Tweety requirements
  • The use case diagram.
  • Using Spring Data JPA for persistence.