Upload Files With GraphQL in Java
1. Introduction GraphQL has transformed the way developers interact with APIs, offering a streamlined, powerful alternative to traditional REST approaches. However, handling file uploads with GraphQL...
View ArticleTestcontainers JDBC Support
1. Overview In this short article, we’ll learn about the Testcontainers JDBC support, and we’ll compare two different ways of spinning up Docker containers in our tests. Initially, we’ll manage the...
View ArticleUsing Amazon Athena With Spring Boot to Query S3 Data
1. Overview We often store large amounts of data in Amazon S3, but analyzing this data can be challenging. Traditional methods require us to move the data or set up complex systems like a data...
View ArticleJava IDEs in 2024 – Survey Results
I recently ran a short survey to understand what IDEs are the most popular for Java development in 2024. First, thank you to everyone who participated. Now, let’s look at the results: As we can see,...
View ArticleBuilding Simple Java Applications with Scala-CLI
1. Introduction We can independently create and run a simple Java class with just a Java installation. However, including third-party dependencies usually requires a build tool like Maven or Gradle,...
View ArticleDo Spring Prototype Beans Need to Be Destroyed Manually?
1. Introduction In this tutorial, we’ll explore how the Spring Framework handles prototype beans and manages their lifecycle. Understanding how to use beans and their scopes is an important and useful...
View ArticleGuide to FileOutputStream vs. FileChannel
1. Introduction When working with file I/O operations in Java, FileOutputStream and FileChannel are the two common approaches for writing data to files. In this tutorial, we’ll explore their...
View ArticleHow to Solve “java.lang.IllegalStateException:...
1. Introduction In this article, we’ll see a common mistake that developers make while using Spring Webflux. Spring Webflux is a non-blocking web framework built from the ground up to take advantage of...
View ArticleFunction Calling in Java and Spring AI Using the Mistral AI API
1. Overview Using large language models, we can retrieve a lot of useful information. We can learn many new facts about anything and get answers based on existing data on the internet. We can ask them...
View ArticleA Guide to the @AutoClose Extension in JUnit5
1. Overview In this brief tutorial, we’ll explore the new @AutoClose JUnit 5 annotation, which helps us deal with classes that require a specific method call after test execution. After that, we’ll...
View ArticleMaven Spotless Plugin for Java
1. Overview In this tutorial, we’ll explore the Maven Spotless Plugin, and use it to enforce a consistent code style across the project. Initially, we’ll use a minimal configuration to analyze the...
View ArticleEvaluating H2 as a Production Database
1. Overview H2 is a very popular database solution, especially when it comes to testing. It was first introduced as an in-memory database to use in test and integration environments because it’s easy...
View ArticleUsing Apache POI to Extract Column Names From Excel
1. Introduction Handling Excel files efficiently is crucial, whether reading data for processing or generating reports. Apache POI is a powerful library in Java that allows developers to manipulate and...
View ArticlePassing List as Cucumber Parameter
1. Introduction Cucumber is a popular tool in behavior-driven development (BDD) for writing test scenarios in plain language. Utilizing parameters in Cucumber allows for dynamic and reusable tests. In...
View ArticleSpring Security 6.3 – What’s New
1. Introduction Spring Security version 6.3 has introduced a range of security enhancements in the framework. In this tutorial, we’ll discuss some of the most notable features, highlighting their...
View ArticleUnescape HTML Symbols in Java
1. Overview Server-side applications sometimes require parsing of HTML characters. This is where the process of escaping/unescaping comes in helpful. In this tutorial, we’ll demonstrate a couple of...
View ArticleGetting Arithmetic Results in the Modulo (10^9 + 7) Format
1. Overview When working with large numbers, intermediate results can exceed data type limits. For such scenarios, modular arithmetic helps keep numbers manageable and prevent overflow errors. In this...
View ArticleValidation Using the Spring Validator Interface
1. Introduction The Spring Validator interface provides a flexible and customizable way to validate objects. In this tutorial, we’ll explore how to use the Validator interface to validate objects in a...
View ArticleHow to Select Value From Dropdown Using Selenium Webdriver
1. Introduction In this short tutorial, we’ll look at a simple example of how to select an option or a value from a dropdown element using Selenium WebDriver with Java. For testing, we’ll use JUnit and...
View ArticleDifferences Between Solr and Lucene
1. Introduction Search engines are pivotal in retrieving information quickly and efficiently in the digital age. Two prominent names in this domain are Apache Solr and Apache Lucene. These technologies...
View Article