Introduction: As an object-oriented developer, we want to avoid having larger classes with tons of unrelatable fields. And so, we might often feel the need to represent a JPA Entity using multiple objects. In this quick tutorial, we’ll learn how to achieve it using @Embedded and @Embeddable annotations in JPA or Hibernate. Context Buildup: Let’s […]
Introduction: Kubectl is a command-line tool that helps us interact with our Kubernetes API server. In turn, it helps us manage our K8s cluster. In this quick tutorial, we’ll learn and explore some commonly used kubectl commands. Working with kubectl: Let’s look at kubectl‘s general syntax: kubectl [operation] [resource-type] [resource-name] [flags] When we don’t specify […]
Introduction: In this tutorial, we’ll introduce you to Kubernetes and will discuss its architecture. As a prerequisite, it’s good to have some basic knowledge of the container world. Kubernetes & its Architecture: Kubernetes, popularly known as K8s, is an open-source container orchestration engine for microservices-based containerized applications. A K8s cluster comprises of a master and […]
Introduction: Spring @RequestParam annotation can be used to extract the query parameters in a handler method. In this quick tutorial, we’ll learn its usage. @RequestParam Annotation: Let’s first expose an API which returns a list of users with a given first nameĀ and age: @RestController public class UserController { … @GetMapping("/users") public List<User> getUsers(@RequestParam String firstName, […]
Introduction: Spring @Primary annotation is used to give a higher preference to the marked bean when multiple beans of the same type exist. Spring, by default, auto-wires by type. And so, when Spring attempts to autowire and there are multiple beans of the same type, we’ll get a NoUniqueBeanDefinitionException: Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException : No qualifying […]
Introduction: The Spring framework, by default, loads and eagerly initializes all beans at the application startup itself. In our application, we might have some pretty resource-intensive beans. We’ll prefer to load such beans on a need basis. We can achieve this using the Spring @Lazy annotation. In this tutorial, we’ll learn how to use @Lazy […]
Introduction: The Spring @Order annotation was first introduced in Spring 2.0. It was then used only to define the order among the AspectJ advices. Later in Spring 4.0, the implementation of this annotation was further improved a bit. Since then, it also supports ordering of Spring components or beans in a collection like a Java […]
Introduction: REST stands for Representational State Transfer and is an architectural guideline for API design. We assume that you already have a background in building RESTful APIs. In this tutorial, we’ll design a simple Spring Boot RESTful web application, exposing a few REST endpoints. Project Setup: Let’s start by downloading the project template via Spring […]
Introduction: In this quick tutorial, we’ll bootstrap a simple Spring Boot application backed by an in-memory H2 database. We’ll use the Spring Data JPA to interact with our database. Project Setup: Firstly, let’s generate our project template using Spring Initializr: On clicking the ‘Generate the project’ link, our project files will get downloaded. Now, if […]
Introduction: @SpringBootConfiguration annotation in Spring Boot is a class-level annotation which indicates that this class provides the application configuration. Generally, the class with the main() method is best-suited for this annotation. We usually use @SpringBootApplication annotation which automatically inherits the @SpringBootConfiguration annotation. Annotation Usage: When we mark a class with @SpringBootConfiguration, it means that the […]