In my previous post, I introduced the API Gateway Pattern in Microservices. Let’s take a look at the components in our system, as demonstrated below. We have API Gateway which proxies our requests to the authorization server and two services in our services. The API gateway has to proxy requests…
Category: Learn Spring
Implement OAuth using Spring Authorization Server – P2
In the previous post, I introduced two OAuth2.1 grants: client credentials and authorization code. In this part, I will walk you through the implementation of each grant using the Spring Authorization framework. Starting from Spring Security 5, the Spring team no longer supports building an authorization server from spring-security-starter but…
Implement OAuth using Spring Authorization Server – P1- A brief overview of OAuth2 and JWT
Last week, I set out to create an application based on microservices architecture, primarily for learning purposes. My initial focus was to secure the application, which led me to learn how to build a Spring authorization server from scratch. While I had previously implemented resource servers, building an authorization server…
Spring Design Patterns
Design Patterns play a role in almost every aspect of the framework from its core. Operationally, Spring itself works using design patterns and supports your patterns in the process. In this post, I will go through Spring use cases where some well-known design patterns are applied. However, it won’t focus…
Spring IoC – Understand how Spring initializes beans
Spring is one of the most widely used Java EE frameworks. As with any framework, its utility grows exponentially once you understand its inner workings. At its core, Spring Framework is based on two design principles – Dependency Injection and Aspect Oriented Programming. This post is a note in my series which aims to explore the…
Java 8 Optional: Practical Examples and Use Cases
Java 8 introduced the Optional feature, providing a safer way to handle potential null values and reduce the risk of NullPointerExceptions. In this post, we’ll explore Java 8 Optional methods, practical examples and how they can improve code readability. Java 8 Optional’s methods overview Optional is a container that holds…
Spring AOP: A Comprehensive Guide to AOP Concepts
In this entry of my series about the Spring fundamental concepts, I will explain one essential concept underlying Spring framework. Our focus shall be on comprehending the fundamental of AOP, its underlying principles, and its application within the Spring framework. AOP Fundamentals Consider an application where multiple components required logging,…