Learn how to use the ClassTemplate annotation in Junit 5 to run the same test class in multiple contexts.
Also find me here:
Baeldung Editor
Saajan Nagendra
Saajan is an architect with deep experience building systems in several business domains. With a clean and minimalist approach to design, he is passionate about code – the aesthetics of it, and creating maintainable and flexible solutions. He enjoys both sharing with and learning from others.
Here's what I've reviewed (so far):
Baeldung on Java
- All
- Testing (35)
- Java (28)
- Core Java (24)
- Java String (16)
- Spring Boot (15)
- Data (14)
- Persistence (13)
- Spring (11)
- Java Streams (11)
- Java Numbers (11)
- Java Concurrency (11)
- Java IO (10)
- Java Dates (10)
- Jackson (10)
- Spring Security (9)
- Security (9)
- REST (9)
- Java Collections (8)
- Networking (7)
- Java List (7)
- Java Array (7)
- JPA (7)
- Web Services (6)
- Spring Data (6)
- DevOps (6)
- Algorithms (6)
- Reactive (5)
- Logging (5)
- Java Map (5)
- XML (4)
- Spring WebFlux (4)
- Spring Web (4)
- NoSQL (4)
- Maven (4)
- Java Web (4)
- JVM (4)
- Gradle (4)
- Artificial Intelligence (4)
- Spring MVC (3)
- Jakarta EE (3)
- IDE (3)
- Spring Cloud (2)
- JSON (2)
- HTTP Client-Side (2)
- Cloud (2)
- Architecture (2)
- Spring Persistence (1)
- Groovy (1)
- Docker (1)
Inline Images in Email Using Java Mail
Filed under Networking
Learn how to send an email with an inlined image by defining multiple parts in the email.
Using the Model Context Protocol With Quarkus and Langchain4j
Filed under Artificial Intelligence
Learn how to build a Model Context Protocol server and client using Quarkus and LangChain4J.
Faking OAuth2 Single Sign-on in Spring
Filed under Spring Security
Explore ways to mock and bypass the OAuth2 SSO in Spring apps for testing.
Authorize Request for Certain URL and HTTP Method in Spring Security
Filed under Spring Security, Spring Web
Explore how to authorize requests for specific URLs and HTTP methods using Spring Security.
Guide to Java Diff Utils
Filed under Data
Learn how to use the Java Diff Utils library for comparing text content line-by-line, applying patches, building side-by-side diff views, etc.
Introduction to Tribuo – A Java Machine Learning Library
Filed under Artificial Intelligence
Learn about the different machine learning algorithms available in Tribuo with practical examples.
Generate a Unique Integer From a Unique String
Filed under Java Numbers, Java String
Explore multiple solutions for generating a unique Integer from a unique String.
Stream Gatherers in Java
Filed under Java Streams
Learn about the Gatherer interface, understand the challenges it solves and the features it provides.
Baeldung on Linux
- All
- Scripting (67)
- Administration (60)
- Files (33)
- Processes (25)
- Networking (24)
- File Editing (19)
- Security (13)
- Installation (13)
- File Viewing (10)
- Package Management (9)
- Building (8)
- Filesystems (7)
- Network Configuration (6)
- File Searching (6)
- File Compression (6)
- Text Processing (4)
- Service Management (4)
- Network Monitoring (4)
- Docker (4)
- Web (3)
- File Permissions (3)
- User Administration (2)
- Search (2)
- File Conversion (2)
- Boot Process (1)
Linux Emergency Recovery With init=/bin/bash
Filed under Boot Process
Learn to use the init=/bin/bash kernel parameter to access a minimalist root shell on systems that wouldn’t otherwise boot.
The Linux Kernel
Filed under Administration
Explore the Linux kernel, from its core role within the operating system to the mechanisms it uses to manage processes, memory, file systems, and hardware.
Solve Error “rm cannot remove path : device or resource busy” in Linux
Filed under Files
Learn how to resolve the rm command error: “device or resource busy”.
Tomcat Is Running, but Port 8080 Is Not Responding on Linux
Filed under Administration, Network Configuration
Learn how to ensure the Tomcat TCP port responds correctly to local and remote user requests.
Finding SCSI Device IDs in Linux
Filed under Administration
Learn how to find SCSI device IDs using Linux commands.
Creating a Database Using C Programming in Linux
Filed under Filesystems, Scripting
Build from scratch a simple yet handy command-line database in C that uses JSON files in its data store.
How to Fix a Script Not Working in Crontab
Filed under Scripting
Learn how to fix the most common crontab issues.
How to Check if a Server Is Running in Linux
Filed under Network Monitoring
Learn various Linux commands to check if a server is up and running.
How to Autoinstall Ubuntu Linux on a Device Without a Screen or a Keyboard
Filed under Installation
Understand the step-by-step process of creating an unattended Ubuntu installation ISO for devices without a display or keyboard.
Baeldung on Scala
- All
- Scala Collections (4)
- Libraries (2)
- Scala Web (1)
- Scala Strings (1)
- Scala Numbers (1)
- Scala Basics (1)
- Play Framework (1)
- Persistence (1)
- Akka (1)
Sorted Sets in Scala
Filed under Scala Collections
Explore SortedSet and learn how to keep elements in a specific order through natural ordering or a provided comparator.
Serving Static Assets in Play
Filed under Play Framework, Scala Web
Learn how to serve static assets like images, CSS, and JavaScript in a Play application.
Introduction to Kafka With Scala
Filed under Libraries
Explore Kafka using Scala and learn how to produce and consume messages on a topic.
Introduction to Spire
Filed under Libraries, Scala Numbers
Learn about Scala Spire, a library that provides performant and generic numeric types.
Difference Between tell and forward in Akka Actor
Filed under Akka
Learn the difference between the tell() and forward() methods of Akka Actors.
Introduction to Skunk – Scala Driver for PostgreSQL
Filed under Persistence
Learn the basics of Skunk, a purely functional Scala driver for PostgreSQL.
Scala Interview Questions
Filed under Scala Basics
Explore some of the basic Scala questions that could come up in a technical interview for Scala developers.
Initializing an Array in Scala
Filed under Scala Collections
Learn multiple approaches for initializing an array in Scala.
Copy an Array to Another in Scala
Filed under Scala Collections
Learn various approaches for copying the elements of an array into another in Scala.
Baeldung on Computer Science
- All
- Programming (1)
- Networking (1)
- Artificial Intelligence (1)
Different Types of DNS Records
Filed under Networking
Understand the common DNS record types that can be encountered in domain management.
Neurons in Neural Networks
Filed under Artificial Intelligence
Explore the structure and functioning of artificial neurons in neural networks and understand deeply the architecture of a neural network, its layers, and their several important benefits.
What Is the Difference Between Signed and Unsigned Variables?
Filed under Programming
Understand how numbers are represented in binary and learn the differences between signed and unsigned variables.
Baeldung on Kotlin
- All
- Spring (3)
- Kotlin Strings (3)
- Kotlin Collections (3)
- Libraries (2)
- Kotlin Server-Side (2)
- Kotlin Classes and Objects (2)
- Kotlin (2)
- Functional Programming (2)
- Testing (1)
- Patterns (1)
- Kotlin Numbers (1)
- Kotlin Dates (1)
- Kotlin Basics (1)
- HTTP Client-Side (1)
Difference Between “*” and “Any” in Kotlin Generics
Filed under Kotlin Collections
Find out the differences between Any and * when using Kotlin generics and understand how to utilize them effectively.
Differences Between takeWhile() and transformWhile() in Kotlin
Filed under Functional Programming
Find out the differences between takeWhile() and transformWhile(), and understand where and how we can use these functions.
API Versioning With Kotlin and Spring Boot
Filed under Spring
Learn how to implement API versioning in a Spring Boot application using Kotlin.
equals() and hashCode() Generator in Kotlin
Filed under Kotlin
Explore how the equals() and hashCode() methods are generated for Kotlin’s data classes.
Convert Any to Int in Kotlin
Filed under Kotlin Classes and Objects
Learn various ways to convert a variable of type Any to an Int and understand why this requires careful consideration of the data at hand.
Strategy Design Pattern in Kotlin
Filed under Patterns
Explore the Strategy design pattern in Kotlin and understand the problem that the pattern solves.
Functional Error Handling in Kotlin
Filed under Functional Programming
Learn how to develop recovery logic in a structured way using functional error handling.
Working With Pair in Kotlin
Filed under Kotlin Collections
Learn how the Pair class works in Kotlin.
Check if a Character Is Alphabetic or Not in Kotlin
Filed under Kotlin Strings
Explore various techniques to determine if a character is alphabetic in Kotlin.
Baeldung on Ops
- All
- Docker (8)
- Kubernetes (3)
- DevOps (3)
- Jenkins (2)
- Deployment Tools (2)
- Git (1)
Run Docker Commands With Ansible
Filed under Deployment Tools, Docker
Learn how to run Docker commands with Ansible using a practical and easy-to-follow example.
The Equivalent of –add-host=host.docker.internal:host-gateway in Docker Compose
Explore the –add-host=host.docker.internal:host-gateway option in Docker and understand its equivalent Docker Compose configuration.
Using a Jenkins Pipeline to Checkout Multiple Git Repos Into Same Job
Filed under Jenkins
Learn how to checkout multiple Git repositories into separate subdirectories in the same Jenkins pipeline.
Merge Strategies in Git
Filed under Git
Explore Git’s merge strategies, from fast-forward and non-fast-forward merges to advanced strategies like recursive, octopus, subtree, and merge-ort.
Unable to Delete PersistentVolumeClaims
Filed under Kubernetes
Understand the common causes and solutions for the issue of being unable to delete PVCs in Kubernetes.
How to Install certbot Plugins
Filed under DevOps
Learn how to install plugins that extend the capabilities of a certbot.
Edit a Kubernetes Deployment Without Modifying the File Manually
Filed under Kubernetes
Learn how to edit a Kubernetes Deployment object on the fly without using the original declarative configuration file.
Introduction to the Pants Build Tool
Filed under DevOps
Learn the basic functionality of the Pants build tool and understand its usage.
How to Get the List of Dependent Child Images in Docker
Filed under Docker
Learn how to get the list of dependent child images of a Docker image.
Baeldung on SQL
- All
- SQL Queries (11)
- Database Concepts (3)
- DML (3)
- SQL Functions (2)
- Database Access (2)
- SQL Operators (1)
- DDL (1)
How to Sort SQL Results With NULL Values at the End When Ascending
Filed under SQL Queries
Explore how to ensure NULL values appear last when sorting results in the ascending order.
How Do I Connect to a SQL Database in Python?
Filed under Database Access
Learn how to connect to a MySQL database from Python.
What Does Collation Mean in SQL?
Filed under Database Concepts
Explore the concept of collation in SQL databases and understand how it affects text comparison and sorting.
Insert Into a SQL Table or Update if the Row Exists
Filed under DML
Explore inserting a row into a SQL table or updating the row if it already exists.
When to Use Equals (=) vs. LIKE in SQL Queries
Filed under SQL Queries
Explore the differences between the Equals (=) and LIKE operators and understand how they differ between MySQL, MSSQL, and PostgreSQL.
Difference Between CTE and Subquery
Filed under SQL Queries
Explore and understand, with practical examples, the differences between Common Table Expressions(CTEs) and subqueries.
Selecting Dates Within a Range Using SQL Queries
Filed under SQL Queries
Explore how to effectively select dates within a range using SQL queries.
Natural vs. Surrogate Keys in Database
Filed under Database Concepts
Explore the concepts of natural and surrogate keys and their ideal use cases.
SQL WHERE Condition for “Not equal to”
Filed under SQL Queries
Explore the intricacies of using the WHERE condition for the “Not equal to” query.