Multi-Release Jar Files
1. Overview Java is constantly evolving and adding new features to the JDK. And, if we want to use those features in our APIs, then that can obligate downstream dependencies to upgrade their JDK...
View ArticleStatic Methods Behavior in Kotlin
1. Overview One way in which the Kotlin language differs from Java is that Kotlin doesn’t contain the static keyword that we’re familiar with. In this quick tutorial, we’ll see a few ways to achieve...
View ArticleDB Integration Tests with Spring Boot and Testcontainers
1. Overview Spring Data JPA provides an easy way to create database queries and test them with an embedded H2 database. But in some cases, testing on a real database is much more profitable, especially...
View ArticleTypes of Strings in Groovy
1. Overview In this tutorial, we’ll take a closer look at the several types of strings in Groovy, including single-quoted, double-quoted, triple-quoted, and slashy strings. We’ll also explore Groovy’s...
View ArticleAhead of Time Compilation (AoT)
1. Introduction In this article, we’ll look at the Java Ahead of Time (AOT) Compiler, which is described in JEP-295 and was added as an experimental feature in Java 9. First, we’ll see what AOT is, and...
View ArticleKotlin const, var, and val Keywords
1. Introduction In this tutorial, we’ll be outlining the key differences between the const, var, and val keywords in the Kotlin language. To put these keywords into context, we’ll be comparing them to...
View ArticleIntroduction to Leiningen for Clojure
1. Introduction Leiningen is a modern build system for our Clojure projects. It’s also written and configured entirely in Clojure. It works similarly to Maven, giving us a declarative configuration...
View ArticleFormatting JSON Dates in Spring Boot
1. Overview In this tutorial, we’ll show how to format JSON date fields in a Spring Boot application. We’ll explore various ways of formatting dates using Jackson, which is used by Spring Boot as its...
View ArticleA Quick Guide to Iterating a Map in Groovy
1. Introduction In this short tutorial, we’ll look at ways to iterate over a map in Groovy using standard language features like each, eachWithIndex, and a for-in loop. 2. The each Method Let’s imagine...
View ArticlePerformance Comparison of Primitive Lists in Java
1. Overview In this tutorial, we’re going to compare the performance of some popular primitive list libraries in Java. For that, we’ll test the add(), get(), and contains() methods for each library. 2....
View ArticleUsing WireMock Scenarios
1. Overview This quick tutorial will show how we can test a stateful HTTP-based API with WireMock. To get started with the library, have a look at our Introduction to WireMock tutorial first. 2. Maven...
View ArticleGuide to Apache Commons MultiValuedMap
1. Overview In this quick tutorial, we’ll have a look at the MultiValuedMap interface provided in the Apache Commons Collections library. MultiValuedMap provides a simple API for mapping each key to a...
View ArticleAn Introduction to Traits in Groovy
1. Overview In this tutorial, we’ll explore the concept of traits in Groovy. They were introduced in the Groovy 2.3 release. 2. What are Traits? Traits are reusable components representing a set of...
View ArticleValidating RequestParams and PathVariables in Spring
1. Introduction In this tutorial, we’ll take a look at how to validate HTTP request parameters and path variables in Spring MVC. Specifically, we’ll validate String and Number parameters with JSR 303...
View ArticleJava Weekly, Issue 269
Here we go… 1. Spring and Java >> A categorized list of all Java and JVM features since JDK 8 [advancedweb.hu] A handy reference covering everything from new language features down to the new...
View ArticleIterating Over an Instance of org.json.JSONObject
1. Introduction In this tutorial, we’ll look at a couple of approaches for iterating over a JSONObject, a simple JSON representation for Java. We’ll start with a naive solution and then look at...
View ArticleTesting Web APIs with Postman Collections
1. Introduction To thoroughly test a web API, we need some kind of web client to access the API’s endpoints. Postman is a standalone tool that exercises web APIs by making HTTP requests from outside...
View ArticleSQL Injection and How to Prevent It?
1. Introduction Despite being one of the best-known vulnerabilities, SQL Injection continues to rank on the top spot of the infamous OWASP Top 10’s list – now part of the more general Injection class....
View ArticleHow to use Kotlin Range Expressions
1. Introduction A range is a sequence of values defined by a start, an end, and a step. In this quick tutorial, we’ll have a look at how we can define and use ranges in Kotlin. 2. Using Kotlin Ranges...
View ArticleThe Adapter Pattern in Java
1. Overview In this quick tutorial, we’ll have a look at the Adapter pattern and its Java implementation. 2. Adapter Pattern An Adapter pattern acts as a connector between two incompatible interfaces...
View Article