Book Image

Modern API Development with Spring 6 and Spring Boot 3 - Second Edition

By : Sourabh Sharma
1 (1)
Book Image

Modern API Development with Spring 6 and Spring Boot 3 - Second Edition

1 (1)
By: Sourabh Sharma

Overview of this book

Spring is a powerful and widely adopted framework for building scalable and reliable web applications in Java, complemented by Spring Boot, a popular extension to the framework that simplifies the setup and configuration of Spring-based applications. This book is an in-depth guide to harnessing Spring 6 and Spring Boot 3 for web development, offering practical knowledge of building modern robust web APIs and services. The book covers a wide range of topics that are essential for API development, including RESTful web service fundamentals, Spring concepts, and API specifications. It also explores asynchronous API design, security, designing user interfaces, testing APIs, and the deployment of web services. In addition to its comprehensive coverage, this book offers a highly contextual real-world sample app that you can use as a reference for building different types of APIs for real-world applications. This sample app will lead you through the entire API development cycle, encompassing design and specification, implementation, testing, and deployment. By the end of this book, you’ll have learned how to design, develop, test, and deploy scalable and maintainable modern APIs using Spring 6 and Spring Boot 3, along with best practices for bolstering the security and reliability of your applications and improving your application's overall functionality.
Table of Contents (21 chapters)
1
Part 1 – RESTful Web Services
7
Part 2 – Security, UI, Testing, and Deployment
12
Part 3 – gRPC, Logging, and Monitoring
16
Part 4 – GraphQL

Answers

  1. By using the @Scope annotation as shown:
    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
  2. Beans defined using the singleton scope are instantiated only once per Spring container. The same instance is injected every time it is requested, whereas with a bean defined with the prototype scope, the container creates a new instance every time the injection is done by the Spring container for the requested bean. In short, a container creates a single bean per container for a singleton-scoped bean, whereas a container creates a new instance every time there is a new injection for prototype-scoped beans.
  3. Session and request scopes only work when a web-aware Spring context is used. Other scopes that also need a web-aware context to work are application and WebSocket scopes.
  4. Advice is an action taken by the Aspect at a specific time (JoinPoint). Aspects perform the additional logic (advice) at a certain point (JoinPoint), such as a method being called, an exception being...