BPB Online LLP
Hands-on Application Development using Spring Boot
Shagun Bakliwal
Hands-on Application Development using Spring Boot
US$ 19.95
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews

A pragmatic guide for Java developers to help build Microservices and Cloud Apps using Spring Boot.

Key Features
● Develops microservices from start to finish using the Spring Boot Framework.
● Creates cloud-native applications using Spring Boot's production-ready features.
● Covers the API gateway, unit testing, cloud deployments, and managing high-traffic applications.

Description
Spring is an excellent framework for developing both web and cloud-native applications. This book on application development using Spring Boot simplifies the process of writing boilerplate code for complex software. It allows developers to concentrate on the application's concept rather than on the internal Java configuration.

This book will guide you on how to make the best use of the strength that Spring Boot provides. You'll gain an understanding of how Spring Boot configuration works in conjunction with application development, including auto-configuration and overriding default configurations. You will learn to develop scalable, dependable microservices to accelerate the development lifecycle of a cloud-based application. Each chapter will walk you through the features of Spring Boot as a Software Development Framework, such as performing Create, Read, Update, and Delete (CRUD) operations on a database and securing web services with appropriate logging.

By the end of this book, you will develop, test, and deploy applications ready for production and how to establish them as cloud-based applications. The readers will also gain the expertise of writing unit and integration test cases.

What you will learn
● Get to know Spring Boot and all its capabilities.
● Build start-to-end production-ready applications.
● Explore the API Gateway and practice how to run request routing.
● Learn API doc tools like Swagger and host your apps on Cloud.
● Practice how to balance the application's load when the system is under high traffic.
● Learn to write unit tests and integration tests for bug-free coding.

Who this book is for
This book is for Java developers who want to quickly develop, test, and deploy production-ready applications. This book will also appeal to cloud-native application developers and cloud engineers. No prior Spring Boot knowledge is required as the basics are covered in the book.

Table of Contents
1. Getting Started with Spring Boot
2. Developing Your First Spring Boot Application
3. Spring Boot Starter Dependencies and Auto-Configuration
4. Spring Boot Annotations
5. Working with Spring Data JPA and Caching
6. Building RESTFul Microservices
7. Securing a Web Application
8. Building Resilient System
9. Logging
10. Working with the Swagger API Management Tool
11. Testing a Spring Boot Application
12. Deploying a Spring Boot Application

Language
English
ISBN
9789391030223
Cover Page
Title Page
Copyright Page
Dedication Page
About the Author
About the Reviewer
Acknowledgements
Preface
Errata
Table of Contents
1. Getting Started with Spring Boot
Structure
Objectives
Introduction to Spring Boot
Features of Spring Boot
Advantages of Spring Boot
Breaking the monolithic way of developing software
When to start using microservices?
When not to start using microservices?
System requirements
Setting up the environment
Installing Java Development Kit 8 (jdk-8u261-windows-x64)
Installing Apache Maven (apache-maven-3.6.3)
Installing Gradle (gradle 6.6)
Installing Spring Tool Suite (STS 4)
The 12-factor app
Spring Initializr
Conclusion
Points to remember
Questions
2. Developing Your First Spring Boot Application
Structure
Objectives
Starting with Spring Initializr
Build tools – Maven and Gradle
Understanding the pom.xml
Understanding build.gradle
Building an application using Maven
Building an application using Gradle
Understanding the entry point class and SpringBootApplication annotation
Bootstrap ApplicationContext
Java configuration
XML configuration
Annotation configuration
Conclusion
Points to remember
Questions
3. Spring Boot Starter Dependencies and Auto-Configuration
Structure
Objectives
Spring Boot starters
Spring Boot starter dependencies and their configuration
spring-boot-starter-parent
spring-boot-starter-web
spring-boot-starter-data-jpa
spring-boot-starter-test
spring-boot-starter-security
spring-boot-starter-actuator
spring-boot-starter-logging
spring-boot-starter-cache
spring-boot-starter-aop
Understanding auto-configuration
Conditional on class
Conditional on bean
Conditional on property
Conclusion
Points to remember
Questions
4. Spring Boot Annotations
Structure
Objectives
Java annotations
Existence of Spring annotations
Spring and Spring Boot annotations
Core Spring framework annotations
@Bean
@Autowired
@ComponentScan
@Configuration
@ConfigurationProperties
@TestPropertySource
@Lazy
@Qualifier
@Primary
@Value
Spring framework stereotype annotations
@Component
@Controller
@Repository
@Service
Spring Boot annotations
@EnableAutoConfiguration
@SpringBootApplication
@SpringBootConfiguration
Spring task execution annotations
@Async
@EnableScheduling
@Scheduled
Spring profiles annotations
@Profile
@ActiveProfiles
Jakarta annotations
@PreDestroy
@PostConstruct
Conclusion
Points to remember
Questions
5. Working with Spring Data JPA and Caching
Structure
Objective
Accessing relational data using JdbcTemplate with the in-memory database
Accessing relational data using Spring data JPA with the in-memory database
MySQL and its installation
Accessing relational data using Spring data JPA with MySQL
Query methods in Spring data JPA
Caching
Conclusion
Points to remember
Questions
6. Building RESTFul Microservices
Structure
Objectives
Creating RESTful APIs
Consuming RESTFul APIs
Creating different profiles based on the environment
Using Spring Boot actuators for getting telemetry data
Custom health check indicators
Exception handling using ControllerAdvice
Service discovery
Using RestTemplate for calling APIs
Routing a request via the API gateway with Spring Cloud Gateway
Spring Cloud Gateway
Conclusion
Points to Remember
Questions
7. Securing a Web Application
Structure
Objectives
Authentication and authorization concepts
Authentication
Authorization
Spring security filters
Enabling username and password security
Disable security
OAuth security
Accessing REST secured APIs with the user role
Uploading and downloading files from REST services
Conclusion
Points to remember
Questions
8. Building Resilient System
Structure
Objectives
Client-side load balancing
Circuit breaker
Implementing Resilience4J
Conclusion
Points to remember
Questions
9. Logging
Structure
Objective
Different ways of logging data
Logback
Understanding Spring Cloud Sleuth and Zipkin log aggregation
Using ELK for analyzing events
Conclusion
Points to Remember
Questions
10. Working with the Swagger API Management Tool
Structure
Objectives
API documentation
Implementing Swagger
Swagger UI
Annotations used in the Swagger documentation
Creating models using Swagger Codegen
Conclusion
Points to remember
Questions
11. Testing a Spring Boot Application
Structure
Objective
Unit testing and integration testing
Writing a unit test using the JUnit framework
Writing a unit test using the Mockito framework
Checking code coverage
Testing RESTFul web services
Cucumber automation testing
Conclusion
Points to remember
Questions
12. Deploying a Spring Boot Application
Structure
Objectives
Docker and containerization
Features
Setting up Docker
Heroku CLI and deployment
Conclusion
Points to Remember
Questions
Index
The book hasn't received reviews yet.
You May Also Like
Hands-on DevOps with Linux
$19.95
Alisson Machado de Menezes
Hands-on DevOps with Linux
Java Professional Interview Guide
$19.95
Mandar Maheshwar Jog
Java Professional Interview Guide
Learning Elasticsearch 7.x
$19.95
Anurag Srivastava
Learning Elasticsearch 7.x
IT Interview Guide for Freshers
$19.95
Sameer S Paradkar
IT Interview Guide for Freshers
Hands-On Julia Programming
$19.95
Sambit Kumar Dash
Hands-On Julia Programming
Building Modern Web Applications With Jakarta EE, NoSQL Databases and Microservices
$19.95
Aristides Villarreal Bravo, Geovanny Mendoza González, Otávio Gonçalves de Santana
Building Modern Web Applications With Jakarta EE, NoSQL Databases and Microservices
Cracking Containers with Docker and Kubernetes
$19.95
Nisarg Vasavada, Dhwani Sametriya
Cracking Containers with Docker and Kubernetes