ORPP logo
Image from Google Jackets

Mastering Spring Boot 2. 0 : Build Modern, Cloud-Native, and Distributed Systems Using Spring Boot.

By: Material type: TextTextPublisher: Birmingham : Packt Publishing, Limited, 2018Copyright date: ©2018Edition: 1st edDescription: 1 online resource (380 pages)Content type:
  • text
Media type:
  • computer
Carrier type:
  • online resource
ISBN:
  • 9781787125148
Subject(s): Genre/Form: Additional physical formats: Print version:: Mastering Spring Boot 2. 0DDC classification:
  • 005.1
LOC classification:
  • QA76.76.D47 .R357 2018
Online resources:
Contents:
Cover -- Title Page -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: Getting Started with Spring Boot 2.0 -- Introducing Spring Boot -- Simplifying Spring application development using Spring Boot -- The essential key components of Spring Boot -- Spring Boot Starters -- Spring Boot Starter Parent POM -- Spring Boot auto-configuration -- Enabling Spring Boot auto-configuration -- Spring Boot CLI -- Spring Boot Actuator -- Setting up a Spring Boot workspace -- Setting up Spring Boot with Maven -- Setting up Spring Boot with Gradle -- Developing your first Spring Boot application -- Using a web interface for Spring Initializr -- Creating a Spring Boot project using the STS IDE -- Implementing the REST service -- New features in Spring Boot 2.0 -- Summary -- Chapter 2: Customizing Auto-Configuration in Spring Boot Application -- Understanding auto-configuration -- Learning how auto-configuration works -- Customizing Spring Boot -- Customizing using Spring Boot properties -- Replacing generated beans -- Disabling specific auto-configuration classes -- Changing a library's dependencies -- Externalizing configuration with properties -- Order of evaluation for overridden properties -- Renaming application.properties in the Spring application -- Externally configuring application properties -- Using the @EnableConfigurationProperties annotation -- Fine-tuning with logging -- Logging output -- Using YAML for configuration -- YAML for properties -- Multiple profiles inside a single YAML file -- Customizing application error pages -- Summary -- Chapter 3: Getting Started with Spring CLI and Actuator -- Getting started with using Spring Boot CLI -- Installing the Spring Boot CLI -- Manually installing from a downloaded distribution -- Installation with SDKMAN! -- Installing with OSX Homebrew.
MacPorts installation -- Command-line completion -- Using the Initializr with the Spring Boot CLI -- Spring Boot Actuator - taking Application's Insights -- Enabling Spring Boot's Actuator in your application -- Analyzing the Actuator's endpoints -- Exposing configuration details -- Exposing metrics endpoints -- Exposing application information -- Shutting down your application -- Customizing your Actuator endpoints -- Enabling or disabling endpoints -- Changing endpoint IDs -- Changing the sensitivity of the Actuator's endpoints -- Writing custom health indicators -- Creating a custom endpoint -- Securing the Actuator endpoints -- The Actuator with Spring Boot 2.X -- Summary -- Chapter 4: Getting Started with Spring Cloud and Configuration -- Cloud-native application architecture -- Microservices architecture -- Microservice benefits -- Microservice challenges -- Introduction to Spring Cloud -- Building blocks of the cloud and microservice applications -- Usages of Spring Cloud -- Configuring the Spring Cloud application -- Creating the configuration producer Spring Cloud Config Server -- Project setup and dependencies -- Implementing Cloud Config Server -- Configuring the application.properties file -- Creating a Git repository as configuration storage -- Running your configuration application -- Configuring multiple repositories using patterns -- Authentication -- Force-pull property -- Creating the configuration consumer Spring Cloud Config client -- Summary -- Chapter 5: Spring Cloud Netflix and Service Discovery -- Introduction to Spring Cloud Netflix -- The need for Service Discovery in the microservices architecture -- Implementing Service Discovery - Eureka Server -- The Maven build configuration file -- The Gradle build configuration file -- Enabling the Eureka server as a Discovery Service server.
Implementing Service Discovery - Eureka clients -- Adding the Maven dependencies configuration -- The Gradle build configuration -- Registering a client with Eureka -- Consuming the REST service -- Using EurekaClient -- Using DiscoveryClient -- Client-side load balancing using Netflix Ribbon -- Using the registry-aware Spring Cloud Netflix FeignClient client -- Summary -- Chapter 6: Building Spring Boot RESTful Microservice -- Microservices with Spring Boot -- Brief introduction to bootstrap.yml and application.yml -- A simple microservice example -- Creating a discovery service -- Creating a microservice (the Producer) -- Creating microservice consumers -- Load-balanced RestTemplate -- Brief introduction to Spring Data -- Apache Ignite repository -- Spring Data MongoDB -- Spring MongoDB data highlights -- Spring Data JPA -- Summary -- Chapter 7: Creating API Gateway with Netflix Zuul Proxy -- The need for an API Gateway pattern -- Pros of the API Gateway pattern -- Cons of the API Gateway pattern -- API Gateway pattern components -- Implementing API Gateway using Netflix Zuul Proxy -- Including Zuul using Maven dependency -- Enabling the Zuul service proxy -- Configuring Zuul properties -- Adding Zuul filters -- Registering Zuul filters -- Summary -- Chapter 8: Simplify HTTP API with Feign Client -- Declarative REST client - Feign basics -- Including Feign in the cloud application -- Overriding Feign defaults -- Creating Feign clients -- Feign inheritance support -- Multiple interfaces -- Advanced usage of the Feign client -- Feign logging -- Exception handling -- Custom encoders and decoders -- Custom encoder -- Custom decoder -- Feign and Hystrix -- Unit testing Feign clients -- Summary -- Chapter 9: Building Event-Driven and Asynchronous Reactive Systems -- Event-driven architecture patterns -- Mediator topology -- Broker topology.
Introduction to reactive programming -- Spring Reactive -- ReactiveX -- Introduction to Command Query Responsibility Segregation -- Introduction to the Event Sourcing pattern -- Introduction to Eventual consistency -- Building an event-driven Reactive Asynchronous System -- Introducing Spring Cloud Streaming -- Adding Kafka to your application -- Installing and running Kafka -- Configuration properties for Kafka -- Service used to write to Kafka -- Rest API controller -- Listening to a Kafka topic -- Summary -- Chapter 10: Building Resilient Systems Using Hystrix and Turbine -- Circuit-breaker pattern -- Using the Hystrix library with a reference implementation -- Configuring Hystrix in your application -- Maven dependency -- Enabling circuit-breaker -- Adding the Hystrix annotation in services -- Error propagation -- Implementing a REST controller in customer service -- Building and testing customer service -- Customizing the default configuration -- Hystrix Metrics Stream -- Implementing Hystrix Dashboard in our project -- Turbine dashboard -- Turbine stream -- REST consumer with Hystrix and Feign -- Summary -- Chapter 11: Testing Spring Boot Application -- Test-driven development -- Unit testing -- Advantages -- Disadvantages -- Other mock libraries -- Integration testing -- Benefits of testing with Spring -- Activating profiles for a test class -- JUnit tests for the Spring Boot application -- Using Mockito for mocking services -- Postman for testing RESTful service contracts -- Summary -- Chapter 12: Containerizing Microservice -- Introducing containers to the microservice architecture -- Virtual machines versus containers -- Benefits of a container-oriented approach -- Drawbacks of a container-oriented approach -- Key concepts of the containers-oriented approach -- Getting started with Docker -- Installing Docker -- Installing Docker on Linux.
Installing Docker on Windows -- Docker commands -- Container-specific commands -- Docker architecture -- Docker Engine -- Docker container -- Writing Dockerfile -- Dockerizing any Spring Boot application -- Creating a Docker image using Maven -- Getting started with Docker Compose -- Installing Docker Compose -- Using Docker Compose -- Writing a docker-compose file -- Orchestration using a docker-compose file -- Scaling containers using docker-compose and load balancing -- Introducing Kubernetes -- Summary -- Chapter 13: API Management -- API Management -- Advantages of using API Management software tools -- API Management tools -- Rate limiting -- Implementing rate limiting -- Learning about KONG -- Microservice REST APIs with the KONG architecture -- Using APIs without the KONG architecture -- Installing KONG -- Using the KONG API -- Features of the KONG API -- Swagger -- Usage of Swagger -- Using Swagger in a microservice -- Adding a Maven dependency -- Configuring Swagger 2 in your project -- Configuring Swagger UI in your project -- Customizing the Swagger UI meta-configuration -- Filtering an API from Swagger's documentation -- Customizing with Swagger annotations -- Advantages of Swagger -- Summary -- Chapter 14: Deploying in Cloud (AWS) -- Spinning up an AWS EC2 instance -- Microservices architecture on AWS -- Publishing microservices to the Docker Hub -- Installing Docker on AWS EC2 -- Running microservices on AWS EC2 -- Summary -- Chapter 15: Production Ready Service Monitoring and Best Practices -- Monitoring containers -- Logging challenges for the microservices architecture -- Centralized logging solution for the microservices architecture -- Log aggregation using the ELK stack -- Install Elasticsearch -- Install Logstash -- Install Kibana -- Requesting tracing using Sleuth -- Requesting tracing with Zipkin.
Adding the Zipkin server to your machine.
Summary: Spring is one of the best frameworks on the market for developing web, enterprise, and cloud-ready software. Spring Boot simplifies building complex software dramatically by reducing the amount of boilerplate code, providing production-ready features and a simple deployment model.
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
No physical items for this record

Cover -- Title Page -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: Getting Started with Spring Boot 2.0 -- Introducing Spring Boot -- Simplifying Spring application development using Spring Boot -- The essential key components of Spring Boot -- Spring Boot Starters -- Spring Boot Starter Parent POM -- Spring Boot auto-configuration -- Enabling Spring Boot auto-configuration -- Spring Boot CLI -- Spring Boot Actuator -- Setting up a Spring Boot workspace -- Setting up Spring Boot with Maven -- Setting up Spring Boot with Gradle -- Developing your first Spring Boot application -- Using a web interface for Spring Initializr -- Creating a Spring Boot project using the STS IDE -- Implementing the REST service -- New features in Spring Boot 2.0 -- Summary -- Chapter 2: Customizing Auto-Configuration in Spring Boot Application -- Understanding auto-configuration -- Learning how auto-configuration works -- Customizing Spring Boot -- Customizing using Spring Boot properties -- Replacing generated beans -- Disabling specific auto-configuration classes -- Changing a library's dependencies -- Externalizing configuration with properties -- Order of evaluation for overridden properties -- Renaming application.properties in the Spring application -- Externally configuring application properties -- Using the @EnableConfigurationProperties annotation -- Fine-tuning with logging -- Logging output -- Using YAML for configuration -- YAML for properties -- Multiple profiles inside a single YAML file -- Customizing application error pages -- Summary -- Chapter 3: Getting Started with Spring CLI and Actuator -- Getting started with using Spring Boot CLI -- Installing the Spring Boot CLI -- Manually installing from a downloaded distribution -- Installation with SDKMAN! -- Installing with OSX Homebrew.

MacPorts installation -- Command-line completion -- Using the Initializr with the Spring Boot CLI -- Spring Boot Actuator - taking Application's Insights -- Enabling Spring Boot's Actuator in your application -- Analyzing the Actuator's endpoints -- Exposing configuration details -- Exposing metrics endpoints -- Exposing application information -- Shutting down your application -- Customizing your Actuator endpoints -- Enabling or disabling endpoints -- Changing endpoint IDs -- Changing the sensitivity of the Actuator's endpoints -- Writing custom health indicators -- Creating a custom endpoint -- Securing the Actuator endpoints -- The Actuator with Spring Boot 2.X -- Summary -- Chapter 4: Getting Started with Spring Cloud and Configuration -- Cloud-native application architecture -- Microservices architecture -- Microservice benefits -- Microservice challenges -- Introduction to Spring Cloud -- Building blocks of the cloud and microservice applications -- Usages of Spring Cloud -- Configuring the Spring Cloud application -- Creating the configuration producer Spring Cloud Config Server -- Project setup and dependencies -- Implementing Cloud Config Server -- Configuring the application.properties file -- Creating a Git repository as configuration storage -- Running your configuration application -- Configuring multiple repositories using patterns -- Authentication -- Force-pull property -- Creating the configuration consumer Spring Cloud Config client -- Summary -- Chapter 5: Spring Cloud Netflix and Service Discovery -- Introduction to Spring Cloud Netflix -- The need for Service Discovery in the microservices architecture -- Implementing Service Discovery - Eureka Server -- The Maven build configuration file -- The Gradle build configuration file -- Enabling the Eureka server as a Discovery Service server.

Implementing Service Discovery - Eureka clients -- Adding the Maven dependencies configuration -- The Gradle build configuration -- Registering a client with Eureka -- Consuming the REST service -- Using EurekaClient -- Using DiscoveryClient -- Client-side load balancing using Netflix Ribbon -- Using the registry-aware Spring Cloud Netflix FeignClient client -- Summary -- Chapter 6: Building Spring Boot RESTful Microservice -- Microservices with Spring Boot -- Brief introduction to bootstrap.yml and application.yml -- A simple microservice example -- Creating a discovery service -- Creating a microservice (the Producer) -- Creating microservice consumers -- Load-balanced RestTemplate -- Brief introduction to Spring Data -- Apache Ignite repository -- Spring Data MongoDB -- Spring MongoDB data highlights -- Spring Data JPA -- Summary -- Chapter 7: Creating API Gateway with Netflix Zuul Proxy -- The need for an API Gateway pattern -- Pros of the API Gateway pattern -- Cons of the API Gateway pattern -- API Gateway pattern components -- Implementing API Gateway using Netflix Zuul Proxy -- Including Zuul using Maven dependency -- Enabling the Zuul service proxy -- Configuring Zuul properties -- Adding Zuul filters -- Registering Zuul filters -- Summary -- Chapter 8: Simplify HTTP API with Feign Client -- Declarative REST client - Feign basics -- Including Feign in the cloud application -- Overriding Feign defaults -- Creating Feign clients -- Feign inheritance support -- Multiple interfaces -- Advanced usage of the Feign client -- Feign logging -- Exception handling -- Custom encoders and decoders -- Custom encoder -- Custom decoder -- Feign and Hystrix -- Unit testing Feign clients -- Summary -- Chapter 9: Building Event-Driven and Asynchronous Reactive Systems -- Event-driven architecture patterns -- Mediator topology -- Broker topology.

Introduction to reactive programming -- Spring Reactive -- ReactiveX -- Introduction to Command Query Responsibility Segregation -- Introduction to the Event Sourcing pattern -- Introduction to Eventual consistency -- Building an event-driven Reactive Asynchronous System -- Introducing Spring Cloud Streaming -- Adding Kafka to your application -- Installing and running Kafka -- Configuration properties for Kafka -- Service used to write to Kafka -- Rest API controller -- Listening to a Kafka topic -- Summary -- Chapter 10: Building Resilient Systems Using Hystrix and Turbine -- Circuit-breaker pattern -- Using the Hystrix library with a reference implementation -- Configuring Hystrix in your application -- Maven dependency -- Enabling circuit-breaker -- Adding the Hystrix annotation in services -- Error propagation -- Implementing a REST controller in customer service -- Building and testing customer service -- Customizing the default configuration -- Hystrix Metrics Stream -- Implementing Hystrix Dashboard in our project -- Turbine dashboard -- Turbine stream -- REST consumer with Hystrix and Feign -- Summary -- Chapter 11: Testing Spring Boot Application -- Test-driven development -- Unit testing -- Advantages -- Disadvantages -- Other mock libraries -- Integration testing -- Benefits of testing with Spring -- Activating profiles for a test class -- JUnit tests for the Spring Boot application -- Using Mockito for mocking services -- Postman for testing RESTful service contracts -- Summary -- Chapter 12: Containerizing Microservice -- Introducing containers to the microservice architecture -- Virtual machines versus containers -- Benefits of a container-oriented approach -- Drawbacks of a container-oriented approach -- Key concepts of the containers-oriented approach -- Getting started with Docker -- Installing Docker -- Installing Docker on Linux.

Installing Docker on Windows -- Docker commands -- Container-specific commands -- Docker architecture -- Docker Engine -- Docker container -- Writing Dockerfile -- Dockerizing any Spring Boot application -- Creating a Docker image using Maven -- Getting started with Docker Compose -- Installing Docker Compose -- Using Docker Compose -- Writing a docker-compose file -- Orchestration using a docker-compose file -- Scaling containers using docker-compose and load balancing -- Introducing Kubernetes -- Summary -- Chapter 13: API Management -- API Management -- Advantages of using API Management software tools -- API Management tools -- Rate limiting -- Implementing rate limiting -- Learning about KONG -- Microservice REST APIs with the KONG architecture -- Using APIs without the KONG architecture -- Installing KONG -- Using the KONG API -- Features of the KONG API -- Swagger -- Usage of Swagger -- Using Swagger in a microservice -- Adding a Maven dependency -- Configuring Swagger 2 in your project -- Configuring Swagger UI in your project -- Customizing the Swagger UI meta-configuration -- Filtering an API from Swagger's documentation -- Customizing with Swagger annotations -- Advantages of Swagger -- Summary -- Chapter 14: Deploying in Cloud (AWS) -- Spinning up an AWS EC2 instance -- Microservices architecture on AWS -- Publishing microservices to the Docker Hub -- Installing Docker on AWS EC2 -- Running microservices on AWS EC2 -- Summary -- Chapter 15: Production Ready Service Monitoring and Best Practices -- Monitoring containers -- Logging challenges for the microservices architecture -- Centralized logging solution for the microservices architecture -- Log aggregation using the ELK stack -- Install Elasticsearch -- Install Logstash -- Install Kibana -- Requesting tracing using Sleuth -- Requesting tracing with Zipkin.

Adding the Zipkin server to your machine.

Spring is one of the best frameworks on the market for developing web, enterprise, and cloud-ready software. Spring Boot simplifies building complex software dramatically by reducing the amount of boilerplate code, providing production-ready features and a simple deployment model.

Description based on publisher supplied metadata and other sources.

Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.

There are no comments on this title.

to post a comment.

© 2024 Resource Centre. All rights reserved.