Learn about the meaning of the term hydration in the context of programming.
Also find me here:
Baeldung Editor
Michal Aibin
Michal Aibin is a Faculty at British Columbia Institute of Technology and Visiting Associate Professor at Northeastern University with over 10 years experience in software development industry. He received his doctorate degree in Informatics in 2017 and since then published more than 50 research papers. His main research interests are optimization and modeling of computer networks, and adaptive algorithms and machine learning for geospatial analysis/remote sensing. Personally, he enjoys horseback riding and playing music.
Here's what I've reviewed (so far):
Baeldung
- All
- Java (80)
- Core Java (59)
- Testing (55)
- Spring (52)
- Spring Boot (49)
- Persistence (39)
- Java String (33)
- Java Collections (31)
- Algorithms (26)
- DevOps (24)
- Spring MVC (22)
- NoSQL (22)
- Java Numbers (22)
- Spring Data (21)
- Java IO (20)
- Data (20)
- Spring Security (19)
- Jakarta EE (19)
- REST (18)
- Java Map (18)
- JVM (18)
- JSON (17)
- JPA (16)
- Security (15)
- Maven (15)
- Java Concurrency (15)
- HTTP Client-Side (15)
- Java Streams (13)
- Spring Cloud (12)
- Java Dates (12)
- Java Array (12)
- Jackson (12)
- Reactive (11)
- Spring Web (10)
- Cloud (9)
- Architecture (9)
- Groovy (8)
- Spring Persistence (7)
- Logging (6)
- Gradle (6)
- IDE (5)
- Networking (4)
- XML (3)
- Web Services (3)
- Docker (2)
- Guava (1)
Convert a String to a List of Characters in Java
Filed under Java String
Learn how to convert a string into a list of charactеrs in Java.
Skip Bytes in InputStream in Java
Filed under Java IO
Learn how to use the skip() method to skip bytеs within a Java InputStrеam.
String vs StringBuffer Comparison in Java
Filed under Java String
Compare String and StringBuffer classes.
Deserializing JSON to Java Record using Gson
Filed under JSON
Learn how to dеsеrializе JSON data into Java rеcords using Gson.
Spring Kafka Trusted Packages Feature
Filed under Spring
Explore the Spring Kafka trusted packages feature.
String’s Maximum Length in Java
Filed under Java String
Explore thе constraints and considеrations rеlatеd to thе maximum lеngth of strings in Java.
Connect to Database Through Intellij Data Sources and Drivers
Filed under IDE, Persistence
Learn how to connect to a database through IntelliJ data sources and drivers.
Rounding Up a Number to Nearest Multiple of 5 in Java
Filed under Java Numbers
Explore multiplе mеthods for rounding up a numbеr to thе nеarеst multiplе of 5 in Java.
Catch Common Mistakes with Error Prone Library in Java
Filed under Java
Explore the functionalities of the Error Prone library, from installation to customization, and the benefits it offers in enhancing code quality and robustness.
How to Convert Byte Array to Char Array
Filed under Java Array
Learn how to convert bytе arrays to charactеr arrays in Java while managing various data manipulation tasks.
How to Use a Custom Font in Java
Filed under Java
Learn how to use custom fonts in Java applications to еnhancе visual appеal and crеatе distinctivе usеr intеrfacеs.
How to Increment a Map Value in Java
Filed under Java Map
Explore several ways to increment the value of a Map entry.
Convert Long Timestamp to LocalDateTime in Java
Filed under Java Dates
Learn how to convert a Long timеstamp to a LocalDatеTimе objеct in Java.
Passing JVM Options from Gradle bootRun
Explore different ways to pass JVM options to the bootRun command.
Setting a Spring Bean to Null
Filed under Spring
Learn how to set beans in the Spring context to nulls.
Context-Specific Deserialization Filters in Java 17
Filed under Core Java
Explore Java’s latest enhancement, Context-Specific Deserialization Filter (JEP 415), in action.
Time Complexity of Java Collections Sort in Java
Filed under Java Collections
Explore thе Collеctions.sort() timе complеxity using Java Microbеnchmark Harnеss (JMH).
Convert Timestamp String to Long in Java
Filed under Java String
Learn how to convеrt a timеstamp string to a long valuе.
Working with Exceptions in Java CompletableFuture
Filed under Java Concurrency
Explore the ways to handle exceptions that occur in CompletableFuture stages.
Executable Comments in Java
Filed under Core Java
Learn how comments and Unicode escape sequences work together.
Sharing Memory Between JVMs
Filed under JVM
Learn how to use share a memory area between two JVMs running on the same machine.
HashSet toArray() Method in Java
Filed under Java Collections
Learn how to convert a HashSet into an array using the toArray() method of the HashSet class.
Comparing the Values of Two Generic Numbers in Java
Filed under Java Numbers
Explore the nuances of comparing Number objects, and find detailed insights and code examples for each strategy.
Convert a Hex String to an Integer in Java
Filed under Java Numbers
Explore various approaches to converting a Hex String into an int in Java.
Create a “Mutable” String in Java
Filed under Java String
Learn about mutable Strings and ways of mutating a String.
Convert a Stream into a Map or Multimap in Java
Filed under Java Map, Java Streams
Explore ways of transforming a stream into a Map or Multimap in Java using various approaches and libraries.
Round the Date in Java
Filed under Java Dates
Learn how to round the date using the java.util.Date, as well as LocalDateTime and ZonedDateTime.
How to Write and Read a File with a Java HashMap
Filed under Java Map
Explore three methods for writing to and reading from a file with HashMap data.
@ConditionalOnThreading Annotation Spring
Filed under Spring
Explore a new Spring annotation – @ConditionalOnThreading.
Overriding Cucumber Option Values
Filed under Testing
Explore three methods to override the Cucumber option values.
Convert String Containing XML to org.w3c.dom.Document
Filed under XML
Learn how to convert a string with XML-based content into Org.w3c.dom.Document in Java.
Convert an XML Object to a String in Java
Filed under Java String, XML
Learn how to convert an XML Document object to a string in Java.
How to Create CSV File from POJO with Custom Column Headers and Positions
Filed under Java IO
Learn how to convert POJO to CSV format and write to the CSV file.
Remove Elements From a Queue Using Loop
Filed under Java Collections
Learn how to remove elements from a queue using a while loop in Java.
Taking Every N-th Element from Finite and Infinite Streams in Java
Filed under Java Streams
Explore how to get every N-th element from finite and infinite streams in Java.
How to Center Text Output in Java
Filed under Java String
Learn multiple ways to center text output in Java: String formatting, StringBuilder, and StringUtils from the Apache Commons Lang libraries.
Why wait() Requires Synchronization?
Filed under Java Concurrency
Learn why the Java wait() method requires synchronization.
How to Write Hashmap to CSV File
Learn how to write HashMap to a CSV file.
Deprecate Finalization in Java 18
Filed under Core Java
Learn about the reason behind Java’s decision to deprecate finalization for removal.
How to Convert Double to Float in Java
Filed under Java Numbers
Explore double and float in Java and learn how to convert them into each other.
Finding the Square Root of a BigInteger in Java
Filed under Java Numbers
Learn three approaches to calculating the square root of a big number in Java.
API Versioning in Micronaut
Filed under REST
Learn how to implement API versioning with Micronaut.
SpringRunner vs. SpringBootTest
Filed under Spring Boot, Testing
Learn about SpringRunner and SpringBootTest.
Check if a String Is Strictly Alphanumeric With Java
Filed under Java String
Explore a couple of ways to check if a String is alphanumeric.
Unnamed Patterns and Variables in Java 21
Filed under Core Java
Learn about an exciting preview feature in Java 21: unnamed patterns and variables.
Create a GraalVM Docker Image
Filed under Docker, Spring Boot
Learn how to build a Docker image for a GraalVM native executable.
Skipping the First Iteration in Java
Filed under Java Collections
Explore various methods to skip the first element using loops and the Stream API.
How to Detect the Username Using Java
Filed under Java
Explore a couple of ways to get the required information about the environment.
Difference Between Arrays.sort() and Collections.sort()
Filed under Java Array, Java Collections
Compare two Java’s commonly used sorting methods: Arrays.sort() and Collections.sort().
Converting HashMap Values to an ArrayList in Java
Filed under Java Map
Explore several ways to convert a HashMap to an ArrayList in Java.
String Templates in Java 21
Filed under Java String
Explore several String composition techniques and understand the idea behind String interpolation.
Expand Columns with Apache POI
Filed under Java IO
Explore two approaches in Apache POI to adjusting the column width of Excel spreadsheets.
Value-Based Classes in Java
Filed under Core Java
Explore value-based classes and the notion of value types in Java.
How To Convert Excel Data Into List Of Java Objects
Filed under Java Collections, Java IO
Learn about the usage of several libraries, such as Apache POI, Poiji, FastExcel, and JExcelApi, to read and convert data from Excel files into Java objects.
Secure Kubernetes Secrets with Vault
Filed under Spring
Explore different ways to access secrets stored in a Vault instance from Kubernetes-based applications.
How to Get Index of an Item in Java Set
Filed under Java Collections
Explore how to find the index of an element in a Set.
How to Mock Constructors for Unit Testing using Mockito
Filed under Testing
Learn different ways to mock constructors through Mockito and PowerMock.
Streams vs. Loops in Java
Filed under Java Streams
Dive deep into a Java Streams vs. For-Loops comparison.
When to Call System.out.flush() in Java?
Filed under Core Java
Learn when to call System.out.flush() in Java.
JSON File Data Into Kafka Topic
Filed under JSON
Explore the necessary steps to send JSON format data to the topic using a Kafka producer and consumer.
Find the Middle Element of an Array in Java
Filed under Java Array
Explore several approaches to finding the middle elements of an array in Java.
Convert int to Long in Java
Filed under Java Numbers
Learn several ways of convert an integer to a Long in Java.
Format Multiple ‘or’ Conditions in an If Statement in Java
Filed under Core Java
Learn how to improve the readability of multiple conditions in an if statement.
Amazon SNS vs. Amazon SQS
Filed under Architecture, Cloud
Learn about two of the top services that AWS provides to users: SNS and SQS.
How to Fix “Error in Opening Zip File” When Running Maven
Filed under Maven
Explore different ways to resolve the “Error in Opening Zip File” issue.
Creating a Telegram Bot with Spring Boot
Filed under Spring Boot
Learn how to implement a Telegram bot using Spring Boot.
Inner Classes vs. Subclasses in Java
Filed under Core Java
Explore subclasses, inner classes, and their role in writing modular object-oriented code.
Update an Existing Amazon S3 Object Using Java
Filed under Cloud
Learn how to replace the existing file content with newer content for the same AWS S3 path using AWS Java SDK.
Get Values and Keys as ArrayList From a HashMap
Filed under Java Map
Explore how to obtain the key and value lists from a HashMap in Java.
Calculating the Sum of Two Arrays in Java
Filed under Java Array
Learn how to calculate the sum of two arrays element by element in Java.
Java Validation List Annotations
Filed under Jakarta EE
Explore the utility of the List variant of the annotations available under the package jakarta.validations.constraints.
@JsonSubTypes vs. Reflections for Polymorphic Deserialization in Jackson
Explore two distinct approaches, focusing on using a custom annotation and Reflections, for identifying and registering subtypes.
JDBC vs. R2DBC vs. Spring JDBC vs. Spring Data JDBC
Filed under Spring Data
Explore several database approaches in the Java ecosystem.
A Guide to ShardingSphere
Filed under Data
Learn the first steps using ShardingSphere.
Remove Whitespaces From a JSON in Java
Filed under JSON
Explore various methods for removing extra whitespaces from a JSON string in Java.
Receiving PostreSQL Push Notifications with Spring Integration
Filed under Spring Persistence
Learn how to leverage the NOTIFY/LISTEN mechanism available on PostgreSQL to implement asynchronous message delivery in Spring Integration applications.
Performance Comparison Between Different Java String Concatenation Methods
Filed under Java String
Explore different string concatenation methods in Java and evaluate their performance using JMH.
Gradle Toolchains Support for JVM Projects
Filed under Gradle
Explore the Gradle toolchains feature for JVM.
Pretty-Print a JSON in Java
Filed under Jackson
Explore various methods for achieving pretty printing of JSON in Java.
How to Convert application.properties to application.yml for Spring Boot
Filed under Spring Boot
Explore the difference between .properties and .yml files and learn how to convert the application.properties file to application.yml and vice-versa using various tools and plugins.
The Vector API in Java 19
Filed under Core Java
Explore the Vector API, its associated terminologies, and how to leverage it.
Difference Between Boolean.TRUE and true in Java
Filed under Core Java
Explore the differences between Boolean.TRUE and true in Java to properly use these representations of true boolean values.
Setting Default Values to Null Fields in Jackson Mapping
Filed under Jackson
Explore three ways of dealing with missing or null values in JSON when parsing it with Jackson.
Get Partition Count for a Topic in Kafka
Filed under Data
Explore how to retrieve the total number of partitions of a specific Kafka Topic using Java and CLI.
Converting a Java List to a Json Array
Filed under Java Collections, JSON
Learn how to convert a Java List to a JSON array.
What Is Elasticsearch?
Filed under Data
Learn about Elasticsearch: a powerful search and analytics engine that can revolutionize how we handle and understand data.
Mock a URL Connection in Java
Filed under Testing
Explore several ways of mocking a URL connection to write stand-alone unit tests that don’t rely on external services.
Converting Object To Map in Java
Filed under Java Map
Explore various approaches such as reflection, Jackson, and Gson to convert Java Objects into Java Maps.
Using PostgreSQL as a Message Broker
Filed under Spring Boot
Explore PostgreSQL’s NOTIFY/LISTEN mechanism and learn how to use it to implement a lightweight message broker with no extra components.
Convert Hashmap to JSON Object in Java
Learn how to convert a Map to JSON in Java.
Array vs. List Performance in Java
Filed under Java Array, Java Collections
Explore the performance of arrays and lists in Java.
Classpath vs. Modulepath in Java
Filed under Core Java
Explore the distinction between the modulepath and classpath in Java.
Creating Custom Iterator in Java
Filed under Java Collections
Learn how to create a custom iterator in Java and apply it to our collections.
Get Last N Messages in Apache Kafka Topic
Filed under Data
Learn how to get the latest N messages of a Kafka Topic.
Opening a New Tab Using Selenium WebDriver in Java
Filed under Testing
Explore two approaches to opening a new tab with Selenium.
Regular Expression: \z vs \Z Anchors in Java
Filed under Java String
Explore the differences between \z and \Z anchors, how they work, and when to use them.
Read Multiple Inputs on the Same Line in Java
Filed under Java IO
Learn how to read multiple inputs on the same line using the Scanner class.
Intercept SQL Logging with P6Spy
Filed under Persistence
Explore multiple advantages of relying on an external third-party library such as P6Spy to log database queries.
Overriding hashCode() And equals() For Records
Filed under Core Java
Learn how records provide us with a default implementation of equals() and hashCode() methods.
Difference Between FileReader and BufferedReader in Java
Filed under Java IO
Learn how to use FileReader and BufferedReader and the differences between them.
How to Persist a List of String in JPA?
Filed under JPA
Explore what kind of possibilities there are in JPA to store a list of strings of an entity.
Getting Pixel Array From Image in Java
Filed under Java Array
Learn how to get a two-dimensional array that contains the combined RGB values for every pixel in an image in Java.
Working with Virtual Threads in Spring 6
Filed under Java Concurrency, Spring
Learn how to use virtual threads in a Spring 6-based application.
Create and Detect Memory Leaks in Java
Filed under JVM
Learn about memory allocation and garbage collection in Java to prevent memory leaks and build more efficient, robust applications.
Analyze, Generate and Transform Code Using Spoon in Java
Filed under Java
Learn how to use the Spoon library to analyze and modify Java source code.
External Debugging With JMXTerm
Learn how to use JMXTerm to perform external debugging on a Java application.
Configuring Protobuf Compilation with Custom Source Directories
Filed under Java
Learn how to configure a custom source directory for protobuf files.
Shards and Replicas in Elasticsearch
Filed under Architecture, DevOps
Learn about Elasticsearch shards and replicas.
Java Modularity and Unit Testing
Explore Java Modularity and learn how it affected the testing in Java applications.
Reuse StringBuilder for Efficiency
Filed under Java String
Explore the advantages of reusing a StringBuilder and explore a concrete example of how to do it.
A Guide to @Timeout Annotation in JUnit 5
Filed under Testing
Explore JUnit5’s new @Timeout annotation.
Deserialize Generic Type with Jackson
Filed under Jackson
Explore two simple ways to deserialize a JSON string into an object with a generic type.
URL Matching in Spring Boot 3
Filed under Spring Boot
Explore the changes in URL-matching introduced by Spring Boot 3 (Spring 6).
Unidirectional One-to-Many and Cascading Delete in JPA
Filed under JPA
Learn about the Cascading deletion, focusing on unidirectional One-to-Many relationships.
Retrying Requests using Apache HttpClient
Filed under HTTP Client-Side
Learn about the default retry behavior in Apache HttpClient.
The Difference Between junit-vintage-engine and junit-jupiter-engine
Filed under Testing
Explore the difference between the junit-vintage-engine and the junit-jupiter-engine.
Difference Between parallelStream() and stream().parallel() in Java
Filed under Java Concurrency, Java Streams
Explore the ways we can create parallel Streams from a Collection data source.
How to Determine Date of the First Day of the Week Using LocalDate in Java
Filed under Java Dates
Learn about the date of the first day of the week from LocalDate in Java.
Difference Between asText() and toString() in JsonNode
Filed under Jackson
Learn about asText() and toString() methods for working with JSON data in Java.
Using Java Records with JPA
Filed under JPA
Learn how we can use records with JPA and Spring Data JPA.
How to configure Redis TTL with Spring Data Redis?
Filed under Spring Boot, Spring Data
Explore various approaches to setting Redis TTL via Spring Data Redis.
Maven Reactor
Filed under Maven
Learn about the benefits of using Maven Reactor in the Apache Maven ecosystem to build multi-module complex projects.
Introduction to Interface Driven Development (IDD)
Filed under Architecture
Explore the advantages of IDD and an example of how to use it.
Pipeline Design Pattern in Java
Filed under Architecture
Learn about the Pipeline pattern as a potent tool.
Different Ways to Create an Object in Java
Filed under Core Java
Learn how to use keywords, such as new or class, to create an object.
Post form-url-encoded Data with Spring Cloud Feign
Filed under Spring Cloud
Learn how to use Feign to make POST API requests with form-url-encoded data in the request body.
Authenticating Users with AzureAD in Spring Boot
Filed under Cloud, Spring Security
Learn how to use AzureAD with Spring Security to authenticate users, including the required configuration steps for a demo application.
Pitfalls on Testing with Spring Boot
Filed under Spring Boot, Testing
Learn the pitfalls of writing Spring Boot tests.
Copying All Keys and Values From One Hashmap Onto Another Without Replacing Existing Keys and Values
Filed under Java Map
Explore ways to copy the entries from one HashMap to another while preserving the existing entries of the target HashMap.
Guide to Quarkus Funqy
Filed under DevOps
Learn about Quarkus Funqy as a great addition that helps to run Java functions on the Serverless infrastructure.
Java HttpClient Connection Management
Filed under HTTP Client-Side
Learn how the Java HttpClient reuses connections from its internal connection pool.
Jakarta EE 10
Filed under Jakarta EE
Explore features of the new Jakarta EE 10 release.
Record vs. Final Class in Java
Filed under Core Java
Explore the differences between records and final classes in Java.
Guide to HTTPie for Terminal
Filed under HTTP Client-Side
Learn how to install and use the HTTPie CLI tool.
Initialize an ArrayList with Zeroes or Null in Java
Filed under Java Collections
Learn the alternatives when we need to initialize an ArrayList with null or 0 values.
Generate Unit Test Data in Java Using Instancio
Filed under Testing
Learn how to eliminate manual data setup in tests by auto-generating the data using Instancio.
Structured Concurrency in Java 19
Filed under Core Java, Java Concurrency
Learn about structured concurrency capabilities in Java 19.
Introduction to ScyllaDB with Java
Filed under NoSQL
Explore ScyllaDB.
Converting a Number from One Base to Another in Java
Filed under Java Numbers
Learn how to convert numbers from one base to another in Java.
The JVM Run-Time Data Areas
Filed under JVM
Explore different types of runtime data areas and their purpose.
Check If All the Variables of an Object Are Null
Filed under Core Java
Explore the importance of checking for null variables in our Java classes.
Monads in Java – Optional
Filed under Architecture, Java
Explore why the Java Optional class is a monad.
Implementing Retry in Kafka Consumer
Filed under Spring
Learn how to implement retry logic on a Kafka topic, including blocking and non-blocking approaches.
Record Patterns in Java 19
Filed under Core Java
Learn how record patterns allow us to extract the values of a record into variables using pattern matching.
Using Watermarks with iText in Java
Filed under Java IO
Learn how to add watermarks to generated PDF and to an existing PDF using iText.
Extract Values using AssertJ in Java
Learn two ways to extract an object’s value to be asserted on.
Form Login and Basic Authentication in springdoc-openapi
Filed under Spring Security
Learn how to configure authentication in Springdoc for accessing protected endpoints via generated documentation in Swagger-UI.
Functors in Java
Filed under Java
Learn what is a Java Functor.
Handle Browser Tabs With Selenium
Filed under Testing
Learn how we handle browser tabs with Selenium.
A Guide to Spring CredHub
Filed under Spring
Learn how to integrate CredHub with Spring Boot using the Spring CredHub library.
Errors and Exceptions in Java
Filed under Core Java
Explore the differences between errors and exceptions in the Java ecosystem.
Using Firebase Cloud Messaging in Spring Boot Applications
Filed under Spring Boot
Learn how to send notification messages to web and mobile applications using Google’s Firebase Cloud Messaging service.
String Interpolation in Java
Filed under Java String
Explore the topic of String interpolation in Java.
Choosing the Right Java Collection
Filed under Java Collections
Explore all collection interfaces and collection classes in the Java library.
How to Serialize a Singleton in Java
Filed under Core Java
Learn how to create a serializable singleton class in Java.
Find the First Non Repeating Character in a String in Java
Filed under Java String
Explore different approaches to finding the first non-repeating character in a string.
Jackson’s Deserialization With Lombok
Filed under Jackson
Explore two simple approaches to configure our Lombok builder classes to work seamlessly with Jackson.
Inserting an Object in an ArrayList at a Specific Position
Filed under Java Collections
Learn how to add a new element at a specific position to an ArrayList.
The Factory Design Pattern in Java
Filed under Architecture
Explore the factory design pattern.
Kong Ingress Controller with Spring Boot
Filed under DevOps, Docker, Spring Boot
Explore the use of the Kong Ingress Controller to manage access to a Spring Boot application deployed on a K8s cluster.
Apache Camel Exception Handling
Filed under Data
Learn how to handle exceptions in our routes using Apache Camel.
Difference Between Map and MultivaluedMap in Java
Filed under Java Map
Explore the differences between Map and MultivaluedMap.
Java Program to Calculate the Standard Deviation
Filed under Algorithms
Learn how to calculate the standard deviation in Java.
A Guide to LinkedHashSet in Java
Filed under Java Collections
Explore the LinkedHashSet data structure from the Java Collections library.
How to Access the First Element of a Flux
Filed under Reactive
Explore various ways of accessing the first element of a Flux.
Implementing Factory Pattern With Generics in Java
Filed under Java
Learn how to implement and use the factory pattern in Java.
Coupling in Java
Filed under Core Java
Explore coupling in Java.
Introduction to Datafaker
Filed under Testing
Learn how to generate mock data for different purposes with Datafaker.
How to Resolve Spring Webflux DataBufferLimitException
Explore what DataBufferLimitException is and how to fix it on both the server and client sides.
Channels and Connections in RabbitMQ
Filed under Data
Explore Channels and Connections in RabbitMQ and how we can use them.
Setting Time-To-Live Value for Caching
Filed under Spring
Learn how to set TTL caching for Spring-based caching.
Infinity in Java
Filed under Java Numbers
Explore the concept and usage of positive and negative infinity in Java.
Variable Instantiation on Declaration vs. on Constructor in Java
Filed under Core Java
Learn that using either field declaration or constructor initialization is more of a preference.
Dealing with “java.lang.OutOfMemoryError: PermGen space” Error
Filed under JVM
Explore the purpose of PermGen memory and the main difference with heap memory.
Set vs List in Java
Filed under Java Collections
Explore the difference between a List and a Set in Java.
Validate UUID String in Java
Filed under Java String
Learn how to validate a UUID string by using regular expressions or the static method of the UUID class.
Java Scanner Taking a Character Input
Filed under Java IO
Learn how to take char input using the Java Scanner.
Convert between JSON and Protobuf
Filed under JSON
Learn how to convert JSON to protobuf and vice versa.
Static Fields and Garbage Collection
Filed under Core Java
Learn how garbage collection in Java deals with classes and static fields.
Handle Classes With the Same Name in Java
Filed under Core Java
Explore two possible approaches regarding the use of classes having the same name in Java.
Apache Camel Conditional Routing
Filed under Spring
Learn how we can route messages based on conditions in our routes using Apache Camel.
PKCE Support for Secret Clients with Spring Security
Filed under Spring Security
Learn how to enable OAuth’s PKCE extension in a Spring Security application.
Permutations of a String in Java
Filed under Java String
Learn how we to easily create permutations in Java using third-party libraries.
Integer.toString() vs String.valueOf() in Java
Filed under Java String
Learn about the Integer.toString() and String.valueOf() methods.
How To Find Maven Dependencies
Filed under Maven
Explore different ways to add a Maven dependency to our project.
How to Configure Conditional Dependencies in Gradle
Filed under Gradle
Learn how to configure conditional dependencies in a Gradle project.
Spring Boot 3 and Spring Framework 6.0 – What’s New
Filed under Spring Boot
Learn about new features that come with Spring Boot 3 and Spring 6.
Scanning Java Annotations at Runtime
Filed under Java
Learn about scanning Java annotations at runtime.
Query Documents using Document ID in MongoDB
Filed under NoSQL
Learn to query documents using Document ID in MongoDB.
Processing the Response Body in Spring Cloud Gateway
Filed under Spring Cloud
Learn how to access the response body of a backend service and modify it using the Spring Cloud Gateway library
What Are the Spring Boot Default Memory Settings?
Filed under Spring Boot
Learn about the default values of various heap and stack memory configuration options available for Java applications.
Is There a Destructor in Java?
Filed under Core Java
Learn about the possibility of object destruction in Java.
A Guide to Maven Encoding
Filed under Maven
Learn how to set character encoding in Maven.
Configure JWT Authentication for OpenAPI
Filed under Spring Security
Learn how to configure JWT authentication to our OpenAPIs
Tomcat Warning “To Prevent a Memory Leak, the JDBC Driver Has Been Forcibly Unregistered”
Filed under Persistence
Learn about the meaning of the JDBC driver forcible unregistration warning message from Tomcat.
Expose GraphQL Field with Different Name
Filed under Web Services
Learn how a GraphQL field can be exposed with a different name.
Sorting Objects in a List by Date
Filed under Java Dates
Learn how to sort a Java Collection by Date object in both ascending and descending modes.
@RequestMapping Value in Properties File
Filed under Spring Web
Learn how to set the @RequestMapping value in a properties file.
Java HttpClient Timeout
Filed under HTTP Client-Side
Learn how to configure a timeout using the new Java HTTP Client to handle requests when timeouts overflow.
Joining Tables With Spring Data JPA Specifications
Filed under Spring Data
Learn how to use JPA Specifications to query a table based on one of its associated entities.
Building Native Images With Spring Native and Liberica Tools With a Speed Comparison
Filed under Spring
Explore how to use the native image technology with Spring Boot applications.
Add Header to Every Request in Postman
Filed under HTTP Client-Side
Explore the pre-request Script functionality of Postman to add HTTP headers to every request.
Spring Security Authorization with OPA
Filed under Spring Security
Learn how to use OPA to externalize authorization decisions of a Spring Security-based application.
Swap Two Variables in Java
Filed under Algorithms
Learn how to swap two variables in Java, depending on the type of the variables.
Exception Handling With Jersey
Filed under REST
Explore many ways we can handle exceptions using Jersey.
How to Store HashMap<String, ArrayList> Inside a List
Filed under Java Map
Learn about storing HashMaps inside a List in Java.
Creating a Java Array from Regular Expression Matches
Filed under Java Array
Learn to look for patterns in a string of text in Java.
Checking Connection to MongoDB
Filed under NoSQL
Learn how to check the connection of the MongoDB server with different real-time cases.
A Guide to JPA Buddy
Filed under JPA
Explore JPA Buddy and its main features and see how we can use them during the application development cycle.
Retrieve a Value from MongoDB by Its Key Name
Filed under NoSQL
Learn how to retrieve the value by key name in MongoDB.
Spring Security – Map Authorities from JWT
Filed under Spring Security
Explore different ways to customize the way Spring Security map authorities from JWT claims.
Send a SOAP Object with Feign Client
Filed under HTTP Client-Side, Web Services
Learn how to invoke a SOAP web service using Feign.
Bulk Update of Documents in MongoDB
Filed under NoSQL
Learn how to perform bulk operations in MongoDB using different kinds of write operations.
Guide to Upsert in MongoDB
Filed under NoSQL
Learn how to perform upsert operations with various update methods of MongoDB.
Subtract Days from a Date in Java
Filed under Java Dates
Explore several ways to subtract days from a date object.
Apache Camel Routes Testing in Spring Boot
Filed under Spring Boot, Testing
Learn how to test Apache Camel routes in Spring Boot.
Push Operations in MongoDB
Filed under NoSQL
Learn how to insert documents into an array in MongoDB.
Push and Set Operations in Same MongoDB Update
Filed under NoSQL
Learn how to apply multiple operations together in a single MongoDB query.
Introduction to Jakarta EE MVC / Eclipse Krazo
Filed under Jakarta EE
Learn about the Jakarta MVC 2.0 and how to develop a web application and a REST API using Eclipse Krazo.
Check Collection Existence in MongoDB
Filed under NoSQL
Explore various ways to check the existence of a collection using the MongoDatabase and DB class methods.
Update Documents in MongoDB
Filed under NoSQL
Explore various ways to update the documents in MongoDB.
Update Multiple Fields in a MongoDB Document
Filed under NoSQL
Explore various ways to update multiple fields of a document in MongoDB.
Java Missing Return Statement
Filed under Java
Explore some examples of missing return statements in Java.
Difference Between Map and HashMap in Java
Filed under Java Map
Learn why interfaces are a great means for abstraction and defining a contract.
URL Rewriting With Spring Cloud Gateway
Filed under Spring Cloud
Explore different ways to rewrite URLs using the Spring Cloud Gateway library.
Connecting to a NoSQL Database with Spring Boot
Filed under NoSQL, Spring Boot
Learn how to set up and connect to a hosted Cassandra Astra Database.
Document Enum in Swagger
Filed under Spring Web
Learn how to document enum in Swagger using the Maven plugin and verify the generated JSON document in the Swagger editor.
Spring @Autowired Field Null – Common Causes and Solutions
Filed under Spring
Learn about an error that would cause a NullPointerException when we unintentionally mix Spring injection with objects we create by calling their constructors.
Configure and Use Multiple DataSources in Spring Boot
Filed under Spring Boot, Spring Persistence
Learn how to configure multiple data sources with Spring Boot.
Using Spring Cloud Gateway with OAuth 2.0 Patterns
Filed under Spring Cloud, Spring Security
Explore some of the OAuth 2.0 security patterns and how to implement them using Spring Cloud Gateway.
Java Concurrent HashSet Equivalent to ConcurrentHashMap
Filed under Java Collections, Java Concurrency
Explore different possibilities to create thread-safe Set instances and emphasized the differences between them.
Lombok Configuration System
Filed under Java
Learn how to configure Lombok.
Working with (Unknown Source) Stack Traces in Java
Filed under Java
Learn why we see an unknown source in our Java exception stack trace and how can we fix it.
Micronaut vs. Spring Boot
Filed under Spring Boot
Compare the functionality of Spring Boot with Micronaut.
Check if an Enum Value Exists in Java
Filed under Java
Learn various ways to search enums in Java.
Reading Values From Excel in Java
Filed under Java IO
Learn how to access different cell values using Apache POI.
Unix Domain Socket in Java 16
Filed under Networking
Learn how to use Unix domain socket channels in Java 16.
Testing NoSQL Queries With Spring Boot and @DataCassandraTest
Filed under Data, Spring Boot
Learn how to test a Cassandra database slice of a Spring Boot application using the Spring @DataCassandraTest annotation.
CassandraUnit Test Tutorial
Write reliable, self-contained unit tests using CassandraUnit.
Get all the Keys in a JSON String Using JsonNode
Filed under Jackson
Learn different ways to read key names from JSON content.
Add Borders to Excel Cells With Apache POI
Filed under Java IO
Explore how to generate a variety of cell borders using CellRangeAddress, RegionUtil, BorderStyles, and IndexedColors classes.
Check if the First Letter of a String Is Uppercase
Filed under Java String
Explore different solutions for checking if the first letter is uppercase.
Nested HashMaps Examples in Java
Filed under Java Map
Learn how to create, compare, update and flatten a nested HashMap.
Logging Queries with Spring Data Cassandra
Filed under Logging, Spring Data
Explore the logging of queries and statements when using Apache Cassandra with Spring Boot.
Multiline Text in Excel Cell Using Apache POI
Filed under Java IO
Learn how to add multiline text to a cell using Apache POI.
Environment Variable Prefixes in Spring Boot 2.5
Filed under Spring Boot
Learn how to use a prefix for environment variables with Spring Boot.
Reactive Streams API with Ratpack
Explore Ratpack’s support for reactive streams and how to apply it in different scenarios.
Using Fail Assertion in JUnit
Filed under Testing
Explore practical use cases for the fail assertion in JUnit.
Error Handling in gRPC
Filed under Java
Learn how to implement error handling in gRPC for unary and stream-based RPC calls.
Spring Security – Request Rejected Exception
Filed under Spring Security
Explore Spring Security’s protection against malicious URLs that may cause the Path Traversal/Directory Traversal attacks.
Differences Between applicationContext.xml and spring-servlet.xml in Spring
Filed under Spring
Learn about the applicationContext and spring-servlet files.
Joinpoint vs. ProceedingJoinPoint in AspectJ
Filed under Java
Learn about the differences between Joinpoint and ProceedingJoinPoint in AspectJ.
Understanding Maven’s “relativePath” Tag for a Parent POM
Filed under Maven
Learn about the Parent POM resolution of Maven.
Access Control Models
Filed under Security
Explore different access control models and how applications use them to enforce access rules.
The DTO Pattern (Data Transfer Object)
Filed under Architecture
Explore the definition of the DTO Pattern and its reason for existing, and how to implement it.
How to Check Field Existence in MongoDB?
Filed under NoSQL, Persistence
Learn how to check if a field exists in MongoDB.
Display Custom Items in JavaFX ListView
Filed under Java
Explore a way to show custom items in JavaFX ListView.
Context Path vs. Servlet Path in Spring
Filed under Spring MVC
Explore the differences between context path and servlet path in Spring.
Change the Default Location of the Log4j2 Configuration File in Spring Boot
Filed under Spring Boot
Learn different ways to change the default location of the Log4j2 configuration file in Spring Boot.
Spring Data with ArangoDB
Filed under Spring Data
Learn how to configure ArangoDB and use it with Spring Data.
How to Set JSON Content Type in Spring MVC
Filed under JSON, Spring MVC
Learn different options for setting the content type in Spring MVC.
EntityNotFoundException in Hibernate
Filed under Persistence
Explore situations when EntityNotFoundException occurs and solutions to handle it.
Creating a Kubernetes Admission Controller in Java
Filed under DevOps
Learn how to create a Kubernetes admission controller in Java and deploy it to an existing cluster.
Significance of Getters and Setters in Java
Filed under Core Java
Explore the pros and cons of using getters and setters in Java.
Force Repository Update with Maven
Filed under Maven
Explore the options and goals of Maven that forcibly updates our local repository.
Guide to Java BigInteger
Filed under Java Numbers
Learn about the implementation details of the BigInteger class in Java.
Count Occurrences Using Java groupingBy Collector
Filed under Java Map
Learn how to use Collector.groupingBy() to group the equal objects.
Difference Between Maven Surefire and Failsafe Plugins
Compare Surefire and Failsafe plugins for separating and running different types of tests.
Lookahead and Lookbehind in Java Regex
Filed under Java
Learn how to use the four types of regex lookaround to solve some difficult cases of matching strings with regex.
Common Shortcuts in Eclipse
Filed under IDE
Learn most common keyboard shortcuts available in the Eclipse IDE.
Monitor the Consumer Lag in Apache Kafka
Learn how to find the consumer lag on a Kafka topic.
Running Selenium Scripts with JMeter
Filed under Testing
Learn how to run a Selenium script using JMeter.
Cluster, Datacenters, Racks and Nodes in Cassandra
Explore the basic components of Cassandra’s architecture.
How to Implement Min-Max Heap in Java
Filed under Java
Learn how to implement a min-max heap in Java and explore some of the most common operations.
Private Methods in Java Interfaces
Filed under Core Java
Learn how to define private methods within an interface and how we can use them from both static and non-static contexts.
Local JAR Files as Gradle Dependencies
Filed under Gradle
Learn how we can add local JAR files to our Gradle dependencies.
Creating, Updating and Deleting Resources with the Java Kubernetes API
Filed under DevOps
Learn how to manipulate Kubernetes resources using the Java Kubernetes API library.
Kafka Streams vs. Kafka Consumer
Filed under Data
Learn how Kafka Streams simplify the processing operations when retrieving messages from Kafka topics.
How to Return Multiple Entities in JPA Query
Filed under JPA
Learn how to return multiple entities in the JPA query.
IllegalAccessError in Java
Filed under Java
Learn about the java.lang.IllegalAccessError.
AliasFor Annotation in Spring
Filed under Spring
Learn about the @AliasFor annotation in the Spring Framework.
Converting String to BigDecimal in Java
Filed under Java String
Explore multiple methods to convert String to BigDecimal values.
Build a Trading Bot with Cassandre Spring Boot Starter
Filed under Spring Boot
Learn how to create a strategy interacting with a crypto exchange and test it against historical data.
Copying Files With Maven
Filed under Maven
Learn how to copy a source file to a destination using three different Maven plugins.
Java Objects.hash() vs Objects.hashCode()
Filed under Core Java
Learn how and when to use the Object.hashCode(), Objects.hashCode() and Objects.hash().
Using Namespaces and Selectors With the Kubernetes Java API
Filed under DevOps
Explore different ways to filter resources using the Java Kubernetes API client.
A Guide to Events in OkHTTP
Filed under HTTP Client-Side
Learn how to capture events using OkHttp.
Should Logging Out Be a GET or POST?
Explore the common design question of whether logging out should be a GET or POST.
Using Cucumber Tags with JUnit 5
Filed under Testing
Learn how we can use Cucumber tag expressions to manipulate the execution of tests and their relevant setups.
Using Watch with the Kubernetes API
Filed under DevOps
Learn about different ways to create Kubernetes Watches using the Java API client.
Displaying Error Messages with Thymeleaf in Spring
Filed under Spring MVC
Learn how to build a simple Spring application to demonstrate how to display various types of errors in Thymeleaf.
RSA in Java
Filed under Security
Learn how to create RSA keys in Java and how to use them to encrypt and decrypt messages and files.
How to Enable All Endpoints in Spring Boot Actuator
Filed under Spring Boot
Have a look at how to enable all the endpoints in the Spring Boot Actuator.
Open API Server Implementation Using OpenAPI Generator
Filed under Spring
Learn how to generate a Spring-based server stub from a YAML specification using the OpenAPI generator’s Maven plugin.
Mocking Static Methods With Mockito
Filed under Testing
Explore a couple of examples of how we can use Mockito to mock static methods.
Paging and Async Calls with the Kubernetes API
Filed under DevOps
Explore how to use paging and asynchronous calls with the Kubernetes Java API.
Creating a Read-Only Repository with Spring Data
Filed under Spring Data
Learn how to extend Spring Data’s Repository interface in order to create a reusable read-only repository.
Adding Interceptors in OkHTTP
Filed under HTTP Client-Side
Learn how to create interceptors using OkHttp.
Spring @EntityScan vs. @ComponentScan
Filed under Spring
Learn about the usage of @EntityScan and @ComponentScan annotations and their differences.
A Quick Intro to the Kubernetes Java Client
Filed under DevOps
Discover the Kubernetes API for Java.
Where Does Java’s String Constant Pool Live, the Heap or the Stack?
Filed under Java String
Learn about the storage area for String constant pool.
Spring @Component Annotation
Filed under Spring
Learn about the Spring @Component annotation.
Configure the Heap Size When Starting a Spring Boot Application
Filed under JVM
Learn how to override the Java heap settings for three common ways of running Spring Boot applications.
File Upload With Open Feign
Filed under REST, Spring Cloud
Learn how to implement a Multipart File upload using OpenFeign.
Multiple Submit Buttons on a Form
Filed under Spring MVC
Learn how to add another button to the same form in a Spring MVC application that maps to the same RequestMapping on the controller.
An Introduction to the Constant Pool in the JVM
Filed under JVM
Learn about the constant pool in JVM.
Setting a Request Timeout for a Spring REST API
Explore a few possible ways to implement request timeouts for a Spring REST API.
Using Custom User Providers with Keycloak
Filed under Security
Learn how to create a custom provider for Keycloak.
New Features in Java 12
Filed under Core Java
Explore the new features implemented in Java 12.
Data Modeling with Apache Kafka
Filed under Algorithms, DevOps
Learn how to use a Docker environment to cover the fundamentals of data modeling for a system that uses Apache Kafka for message processing.
New Features in Java 14
Filed under Core Java
Explore various JEPs of Java 14.
Unmarshalling a JSON Array Using camel-jackson
Filed under Jackson, JSON, Spring Boot
Learn two simple approaches for unmarshalling JSON arrays using camel message routing and the camel-jackson component.
A Guide to MultipleBagFetchException in Hibernate
Filed under Persistence
Learn about the MultipleBagFetchException in detail.
Spring Boot With Spring Batch
Filed under Spring Boot
Learn how to create a simple Spring Batch job using Spring Boot.
Introduction to Servlets and Servlet Containers
Filed under Jakarta EE
Learn the concepts around servlets, their containers, and a few essential objects they revolve around.
Testing Kafka and Spring Boot
Filed under Data, Spring Boot, Testing
Learn about a couple of approaches for testing Kafka applications with Spring Boot.
Defining Indexes in JPA
Filed under JPA
Learn how to implement and use indexes using JPA.
Creating a Discord Bot with Discord4J + Spring Boot
Filed under Spring Boot
Explore all the necessary steps for creating a Discord bot using the Discord4J library and Spring Boot
Sealed Classes and Interfaces in Java
Filed under Core Java
Explore sealed classes and interfaces, a preview feature in Java SE 15, delivered in Java 17.
Apache Commons Collections vs Google Guava
Filed under Guava, Java Collections
Explore the functionality offered by Apache Commons and Google Guava, specifically in the area of the collections framework.
Retrofit 2 – Dynamic URL
Filed under HTTP Client-Side
Learn how to create a dynamic URL in Retrofit2
Performance of removeAll() in a HashSet
Filed under Java Collections
Explore the performance of removeAll() in HashSet.
Apache Spark: Differences between Dataframes, Datasets and RDDs
Filed under Persistence
Explore three of the Spark basic concepts: dataframes, datasets, and RDDs.
Where Does H2’s Embedded Database Store The Data?
Filed under Persistence
Learn how to configure the location of the H2 database files.
Differences Between Netflix Feign and OpenFeign
Filed under Spring Cloud
Compare the Spring Cloud integrations of OpenFeign and Netflix Feign.
Using JNA to Access Native Dynamic Libraries
Filed under Java
Learn how to use JNA to access native code easily when compared to JNI.
Using libphonenumber to Validate Phone Numbers
Filed under Java
Explore the functionality offered by libphonenumber to format and validate phone numbers using code samples.
Getting Started with jOOQ
Filed under Persistence
Learn how to configure and create a simple CRUD application using the jOOQ framework.
Does a Method’s Signature Include the Return Type in Java?
Filed under Core Java
Learn why method signatures are comprised of the name and the parameter types’ list in Java.
Checking if a Method Is Static Using Reflection in Java
Filed under Java
Learn how we can check if a method is static or not.
Guide to the System Rules Library
Filed under Testing
Explore the System Rules library in detail.
Sending Emails with Attachments in Java
Filed under Java
Learn how to send emails with single and multiple attachments in Java.
Differences in @Valid and @Validated Annotations in Spring
Filed under Spring Web
Explore the key differences between the @Valid and @Validated annotations.
Keycloak User Self-Registration
Filed under Security
Learn how to enable user self-registration in Keycloak.
Difference Between when() and doXxx() Methods in Mockito
Filed under Testing
Learn the advantages and disadvantages of the configuring a mock object the when().thenXxx() or the doXxx().when() way.
SSH Connection With Java
Learn how to establish an SSH connection with Java using two of the available Java libraries – JSch and Apache Mina SSHD.
Custom User Attributes with Keycloak
Filed under Spring
Learn how to add extra attributes to a user in Keycloak.
IllegalArgumentException or NullPointerException for a Null Parameter?
Filed under Java
Explore the issue of which exception to throw when someone passes a null parameter to one of our methods: IllegalArgumentExcpetion or NullPointerException.
Customizing the Login Page for Keycloak
Filed under Spring
Learn how to change the default login page for Keycloak and add our customizations.
Customizing Themes for Keycloak
Learn about themes in Keycloak – their types and structure.
OAuth 2.0 Resource Server With Spring Security 5
Filed under Spring Security
Learn how to configure a Spring Security based resource server application for validating JWT as well as opaque tokens.
When Are Static Variables Initialized in Java?
Filed under Core Java
Learn about the static variable initialization in Java.
System.console() vs. System.out
Filed under Core Java
Learn about the differences between System.console() and System.out.
How to Read PEM File to Get Public and Private Keys
Learn how to read public and private keys from PEM files.
Unit Testing of System.out.println() with JUnit
Filed under Testing
Learn about approaches for testing System.out.println.
Java Generics – <?> vs <? extends Object>
Filed under Java
Explore the similarities and differences between two constructs in Java generics.
Taking Screenshots With Selenium WebDriver
Filed under Testing
Explore two approaches to capturing screenshots using Selenium WebDriver.
Print an Integer in Binary Format in Java
Filed under Java Numbers
Explore different ways of printing an integer in binary format in Java.
Mapping Collections with MapStruct
Filed under Java Collections
Explore how to map collections using MapStruct.
Inject a Map from a YAML File with Spring
Filed under Spring
Learn how to inject a Map from a YAML file in Spring Boot.
Testing a Spring Multipart POST Request
Filed under Spring Web
Learn how to test a Spring Multipart POST Request using MockMvc with the help of an example.
The Covariant Return Type in Java
Filed under Java
Explore what the covariance and covariant return types are and how they behave in Java.
Conditional CSS Classes in Thymeleaf
Filed under Spring MVC
Learn a few different ways to conditionally add CSS classes in Thymeleaf.
Java IOException “Too many open files”
Filed under Java IO
Learn when and how to avoid the “Too many open files” exception in Java.
Spring YAML vs Properties
Filed under Spring
Compare the usage of Spring YAML versus the properties file.
HTTP Server with Netty
Filed under Networking
Explore how to implement the HTTP protocol, particularly an HTTP server using Netty.
The “Cannot find symbol” Compilation Error
Filed under Java
Review what compilation errors are, and then specifically explain what the “cannot find symbol” error is and how it’s caused.
Spring BeanPostProcessor
Filed under Spring
Learn how we can use Spring’s BeanPostProcessor to customize the beans themselves.
An Introduction to Invoke Dynamic in the JVM
Filed under JVM
Learn about invokedynamic and see how it can help library and language designers to implement many forms of dynamicity.
Univocity Parsers
Filed under Java IO
Learn the basics of parsing files using the Univocity library.
Spring REST Docs vs OpenAPI
Explore the differences between the OpenAPI based springdoc and Spring REST Docs.
How to Call Python From Java
Filed under Java
Learn the most common ways of calling Python code from Java.
Open/Closed Principle in Java
Filed under Java
Explore the Open/Closed Principle (OCP) as one of the SOLID principles of object-oriented programming in Java.
Java 14 Record Keyword
Filed under Core Java
Explore the fundamentals of records, including their purpose, generated methods, and customization techniques.
Spring Data Redis’s Property-Based Configuration
Filed under NoSQL, Spring Data
Learn how to configure Spring Boot to talk to Redis via Lettuce
Manual Logout With Spring Security
Filed under Spring Security
Learn how to execute a manual logout with Spring Security.
Invoking a SOAP Web Service in Spring
Filed under Spring
Learn how to invoke a SOAP web service using Spring WS.
Using Multiple Cache Managers in Spring
Filed under Spring
Learn how we can enable multiple cache managers in our Spring Boot application.
Invoking a SOAP Web Service in Java
Filed under Jakarta EE
Learn how to build a SOAP client in Java with JAX-WS RI.
Building a Simple Web Application with Spring Boot and Groovy
Filed under Groovy, Spring Boot
Learn how to build a simple todo application with Spring Boot and Groovy.
The Difference Between mockito-core and mockito-all
Filed under Testing
Explore the difference between mockito-core and mockito-all.
How to Determine the Data Type in Groovy
Filed under Groovy
Explore different ways to find the data type in Groovy.
A Guide to jpackage in Java 14
Filed under Core Java
Learn about the usage of the jpackage command-line tool introduced in Java 14.
HTTP/2 in Netty
Filed under HTTP Client-Side, Java
Learn how to implement an HTTP/2 server and client in Netty using code samples.
Returning Plain HTML From a Spring MVC Controller
Filed under Spring MVC
Learn how to return HTML from a Spring MVC controller.
Add CSS and JS to Thymeleaf
Filed under Spring MVC
Learn how to apply CSS styling and external JavaScript functionality to our Thymeleaf pages.
Boruvka’s Algorithm for Minimum Spanning Trees in Java
Filed under Algorithms
Learn about the Java implementation of Boruvka’s algorithm for finding a Minimum Spanning Tree (MST) of an edge-weighted graph.
Java Convert PDF to Base64
Filed under Java IO
Learn how to do Base64 encoding and decoding of a PDF file using Java 8 and Apache Commons Codec.
Pattern Matching for instanceof in Java 14
Filed under Core Java
Learn about the Pattern Matching with instanceof in Java 14.
Spring Bean vs. EJB – A Feature Comparison
Filed under Jakarta EE, Spring
Learn about the history and differences between Spring Bean and Enterprise Java Bean.
Exponential Backoff With Spring AMQP
Filed under Spring
Explore two different ways of implementing a message sending retry strategy named Exponential Backoff.
Introduction to Moshi Json
Filed under JSON
Explore Moshi – a modern JSON library for Java that will give us powerful JSON serialization and deserialization in our code with little effort.
Modifying the Response Body in a Zuul Filter
Filed under Cloud, Spring Cloud
Learn about the Netflix Zuul’s post filter.
How to Handle Java SocketException
Filed under Java
Learn what causes SocketException in Java and how to handle it.
Cache Headers in Spring MVC
Filed under Spring MVC
Learn about HTTP caching by using the Cache-Control response header in Spring MVC.
MongoDB Aggregations Using Java
Filed under NoSQL, Persistence
Learn what are MongoDB aggregations, and how to apply them in Java using an example dataset.
Spring Cloud Gateway Routing Predicate Factories
Filed under Spring Cloud
Explore how to add custom predicate factories to Spring Cloud Gateway and use them to define routes using arbitrary logic.
JPA Entity Lifecycle Events
Filed under JPA
Explore what the JPA entity lifecycle callbacks are and when they’re called.
Introduction to Dropwizard
Filed under REST
Learn how to set up a Dropwizard application with Maven.
java.net.UnknownHostException: Invalid Hostname for Server
Filed under Networking
Learn what causes UnknownHostException, how to prevent it, and how to handle it.
Guide to the Cactoos Library
Filed under Java
Explore the Cactoos library and some of the classes it provides for string and data structure manipulation.
Creating a LocalDate with Values in Java
Filed under Java Dates
Explore all the variants of creating a LocalDate with values in Java.
Introduction to Big Queue
Filed under Java Collections
Learn about the Big Queue, a Java implementation of a persistent queue.
Generating Random Numbers in Java
Filed under Java Numbers
Learn different ways of generating random numbers in Java.
Obtaining a Power Set of a Set in Java
Filed under Algorithms, Java Collections
Study the process of generating a power set of a given set in Java.
Introduction to Greedy Algorithms with Java
Filed under Algorithms
Learn about greedy algorithms in the Java ecosystem.
Specify an Array of Strings as Body Parameters in Swagger
Filed under Spring
Learn how to produce a default example value for String arrays as this behavior is not enabled by default.
Decompiling Classes in Java
Filed under Java
Learn about decompilation in Eclipse and IntelliJ IDEA IDEs as well as a command-line option when they aren’t available.
Arrays.sort vs Arrays.parallelSort
Filed under Java Array
Learn how Java sort() and parallelSort() differ.
AWS S3 with Java – Reactive Support
Explore the basics of using the reactive extensions available in the AWS SDK V2 library.
Wrapping vs Rethrowing Exceptions in Java
Filed under Java
Explore the main difference between re-throwing the original exception vs first wrapping it.
Java Default Parameters Using Method Overloading
Filed under Java
Learn how to use method overloading to simulate default parameters in Java.
Cucumber Background
Filed under Testing
Learn how to use the Cucumber Background feature.
How to Create a Maven Plugin
Filed under Maven
Learn how to create a Maven plugin from scratch.
Writing Custom Spring Cloud Gateway Filters
Filed under Spring Cloud
Learn how to write custom Spring Cloud Gateway filters.
Basic Calculator in Java
Filed under Algorithms
Learn how to implement a Basic Calculator in Java, using two different constructs.
The Caesar Cipher in Java
Filed under Algorithms, Security
Learn how to cipher and decipher a message by shifting its letters by a given offset using Caesar Cipher.
Mockito and Fluent APIs
Filed under Testing
Learn how we can use Mockito to mock a simple fluent API.
Spring Optional Path Variables
Filed under Spring MVC
Explore how to make a path variable optional in different Spring versions.
Benchmark JDK Collections vs Eclipse Collections
Filed under Java Collections
Explore the performance of traditional JDK collections with Eclipse Collections.
The strictfp Keyword in Java
Filed under Core Java
Explore when and how to use the strictfp keyword in Java.
Using Lombok’s @Accessors Annotation
Filed under Java
Learn about Project Lombok’s @Accessors annotation and its support for fluent, chained, and custom accessors.
How to Determine if a Binary Tree Is Balanced in Java
Filed under Algorithms
Learn how to determine if a binary tree is balanced in Java.
How to Count Duplicate Elements in Arraylist
Filed under Java Collections
Explore various ways to calculate the count of duplicate elements in a list.
Spring @ComponentScan – Filter Types
Filed under Spring
Explore different types of filter options available with the @ComponentScan annotation.
Spring Path Variables with Thymeleaf
Filed under Spring MVC
Explore how to use Thymeleaf to create URLs with path variables.
Java Application Remote Debugging
Explore how to use JDWP together with JDB, both JDK tools.
Unable to Find @SpringBootConfiguration with @DataJpaTest
Filed under Spring Boot, Testing
Explore two different causes for the error: “Unable to find a @SpringBootConfiguration”.
Flogger Fluent Logging
Filed under Logging
Learn how to use the Flogger framework as an alternative for the traditional logging frameworks.
Using Multiple Source Objects with MapStruct
Filed under Java
Learn how to use multiple source objects with MapStruct.
Changing the Logging Level at the Runtime for a Spring Boot Application
Filed under DevOps, Logging, Spring Boot
Explore different ways of controlling the logging level at runtime in a Spring Boot Application.
Using JDBI with Spring Boot
Filed under Persistence, Spring Boot
Explore how to quickly integrate JDBI into a Spring Boot application.
Radix Sort in Java
Filed under Algorithms
Learn about the Radix sort algorithm and implement it in Java.
Difference between context:annotation-config vs context:component-scan
Filed under Spring
Explore the differences between context:annotation-config and context:component-scan XML elements.
How to Compress Requests Using the Spring RestTemplate
Filed under HTTP Client-Side, REST, Spring
Learn how to create an interceptor for a RestTemplate that compresses the content of a request.
Java – “Could Not Find or Load Main Class” Error
Filed under Java
Explore the reasons for the error “Could not find or load main class” and learn how to avoid them.
Listing Numbers Within a Range in Java
Filed under Java Numbers
Explore various ways of generating random numbers within a range in Java.
A Guide to the Java FileReader Class
Filed under Java IO
Learn about the basic concepts of a Reader and how FileReader makes it simple to do read operations on text files though some examples.
Add a Header to a Jersey SSE Client Request
Filed under HTTP Client-Side, Jakarta EE
Explore how to add headers to SSE client requests in Jersey using filters.
Convert Character Array to String in Java
Filed under Java Array
Explore different ways of converting a given character array to its String representation in Java.
Command-Line Arguments in Java
Filed under Java
Explore how to configure your Java applications using command-line arguments.
A Guide to Spring Boot Configuration Metadata
Filed under Spring Boot
Learn about the Spring Boot Configuration Processor and the associated JSON metadata files that document each property’s meaning, constraints, and so on.
Counting Sort in Java
Filed under Algorithms, Java
Learn about the counting sort and then implement it in Java.
Using a Mutex Object in Java
Filed under Java Concurrency
Explore the concept of a mutex object in Java.
Interpolation Search in Java
Filed under Algorithms
Learn about the interpolation search algorithms and discuss their pros and cons.
A Guide to SirixDB
Filed under Persistence
Learn how to use the low-level transactional cursor API to manage JSON databases and resources in SirixDB.
Java String equalsIgnoreCase()
Filed under Java String
Learn how to check if two String values are the same when we ignore case.
Guide to In-Place Sorting Algorithm Works with a Java Implementation
Filed under Algorithms
Learn how the in-place sorting algorithm works.
Binary Numbers in Java
Filed under Java Numbers
Learn how to convert binary numbers into decimal ones and vice versa.
A Guide to Increment and Decrement Unary Operators in Java
Filed under Core Java
Explore the increment and decrement unary operators in Java.
Convert String to Double in Java
Filed under Java String
Explore many ways of converting a String into a double in Java.
Composition, Aggregation, and Association in Java
Filed under Core Java
Explore the properties and representation of composition, aggregation, and association in Java.
Spring Security: Exploring JDBC Authentication
Filed under Persistence, Spring Security
Explore the capabilities offered by Spring to perform JDBC Authentication using an existing DataSource configuration.
The Difference Between Failure and Error in JUnit
Filed under Testing
Explore the differences between a failure and an error in JUnit tests.
Changing the Thymeleaf Template Directory in Spring Boot
Filed under Spring Boot, Spring MVC
Learn about Thymeleaf template locations.
Shell Sort in Java
Filed under Algorithms
Learn how to implement Shell Sort algorithm in Java.
Checking If an Array Is Sorted in Java
Filed under Java Array
Learn how to check if an array is sorted in Java.
Concatenate Strings with Groovy
Filed under Groovy
Learn how to concatenate Strings using Groovy.
A Quick Look at R2DBC With Spring Data
Filed under Persistence, Reactive, Spring Data
Explore R2DBC in its early stage.
Override Properties in Spring’s Tests
Explore various ways to override properties in Spring’s tests.
How to Reverse a String in Java
Filed under Java String
Explore different ways of reversing a String in Java.
Working with Enums in Thymeleaf
Filed under Spring MVC
Learn how to work with enums in Thymeleaf.
JWS + JWK in a Spring Security OAuth2 Application
Filed under Spring Security
Learn about JSON Web Signature, and how it can be implemented using the JSON Web Key specification on applications configured with Spring Security OAuth2.
A Guide to NanoHTTPD
Filed under REST
Explore an open-source, lightweight, web server written in Java – NanoHTTPD.
Checking If a String Is a Repeated Substring
Filed under Java String
Learn two ways of checking if a String consists only of its substrings in Java.
Breaking Out of Nested Loops
Filed under Java
Explore different ways to break from a loop in Java.
Spring Data MongoDB Tailable Cursors
Filed under Reactive, Spring Data
Explore how to use MongoDB as an infinite data stream by utilizing tailable cursors with Spring Data.
Handling Maven Invalid LOC Header Error
Filed under Maven
Learn how to handle an invalid LOC header error in Maven.
Download a Large File Through a Spring RestTemplate
Filed under HTTP Client-Side, Spring
Explore different techniques on how to download large files with RestTemplate.
Checking if a Java Graph Has a Cycle
Filed under Java
Learn how to check if a cycle exists in a given directed graph in Java.
Hibernate Validator Specific Constraints
Filed under Data
Explore the constraints in Hibernate Validator that go beyond the minimal set defined in the Bean Validation specification.
A Guide to Crawler4j
Filed under Java
Learn how to use crawler4j to create your own web crawlers.
Java 8 Collectors toMap
Filed under Java Streams
Learn how to use the toMap() method of the Collectors class.
Explore Jersey Request Parameters
Filed under Jakarta EE, REST
Explore how to read different request parameter types via a simple Jersey project.
Intro to OData with Olingo
Filed under Persistence
Learn how to implement a simple OData service using the Apache Olingo library.
The Difference Between CDI and EJB Singleton
Filed under Jakarta EE
Explore the differences between JEE CDI and EJB singletons.
LIKE Queries in Spring JPA Repositories
Filed under Spring Data
Learn how to create LIKE queries in Spring JPA Repositories.
String Initialization in Java
Filed under Java String
Learn about the difference between declaration and initialization of String in Java.
Converting Between Stream and Array in Java
Filed under Java Array, Java Streams
Learn how to convert a Stream to an array and vice versa in Java.
Derived Query Methods in Spring Data JPA Repositories
Filed under Spring Data
Explore the query derivation mechanism in Spring Data JPA.
OData Protocol Guide
Filed under Persistence
Explore the OData protocol that allows easy access to data sets using a RESTFul API.
JPA @Basic Annotation
Filed under JPA
Learn when and how to use JPA’s @Basic annotation.
Default Column Values in JPA
Filed under JPA
Learn how to set a default column values in JPA.
Java Localization – Formatting Messages
Filed under Java
Learn how to localize and format the messages in Java language.
Guide to Maven Profiles
Filed under Maven
Learn how to work with Maven profiles to be able to create different build configurations.
Pattern Matching in Strings in Groovy
Filed under Groovy
Learn how Groovy language supports pattern matching in Strings.
How to Process YAML with Jackson
Learn how to use Jackson to read and write YAML files.
REST Assured Authentication
Learn how to authenticate secured APIs using REST Assured.
Spring Data JPA Delete and Relationships
Filed under Spring Data
Explore different ways to delete entities in Spring Data JPA.
Types of SQL Joins
Filed under Persistence
Explore different types of SQL joins and their implementation in Java.
Anonymous Classes in Java
Filed under Core Java
Learn about Java anonymous classes.
Spring Boot With H2 Database
Filed under Persistence, Spring Boot
Learn how to configure and how to use the H2 database with Spring Boot.
Jpa @Embedded and @Embeddable
Filed under JPA
Learn about @Embeddable and @Embedded annotations provided by the Java Persistence API (JPA).
JPA Join Types
Filed under JPA
Explore different join types supported by JPA.
How to Read HTTP Headers in Spring REST Controllers
Filed under REST, Spring Web
Learn how to access request headers in Spring REST controllers.
EnvironmentPostProcessor in Spring Boot
Filed under Spring Boot
Learn how to use the EnvironmentPostProcessor to customize the application’s Environment before application context is refreshed.
Case Insensitive Queries with Spring Data Repository
Filed under Spring Data
Learn how to create a case insensitive query in a Spring Data repository.
A Guide to jBPM with Java
Filed under Java
Learn about the Business Process Management (BPM) System and its implementation in Java as jBPM System.
Types of JPA Queries
Filed under JPA
Explore JPA queries along with their usage.
Find If Two Numbers Are Relatively Prime in Java
Filed under Algorithms, Java Numbers
Learn how to find if two numbers are relatively prime using three implementations of the gcd algorithm.
The Exists Query in Spring Data
Filed under Spring Data, Spring Persistence
Learn how to check if an object exists in a database using Spring Data and JPA.
Read an InputStream using the Java Server Socket
Filed under Java IO
Learn how to read data from a Java Server Socket.
Guide to jlink
Learn how to create a custom, modular JRE that only contains the bare minimum files using jlink.
TransactionRequiredException Error
Filed under JPA
Learn about the cause of the TransactionRequiredException error and how to solve it.
Spring Boot Consuming and Producing JSON
Filed under JSON, Spring Boot
Learn how to consume and produce JSON content in a typical CRUD REST service developed with a Spring Boot.
How to Fix java.lang.UnsupportedClassVersionError
Filed under JVM
Learn what causes the “java.lang.UnsupportedClassVersionError: Unsupported major.minor version error” message, and how to fix it.
Method Inlining in the JVM
Filed under JVM
Learn about the method inlining in the JVM and how the Just-In-Time compiler achieves it.
Mapping Multiple JSON Fields to a Single Java Field
Filed under JSON
Learn how to convert multiple formats JSON into the same Java object.
Adding a Copyright License Header for Java Source Files in IntelliJ IDEA
Filed under IDE
Learn how to configure IntelliJ IDEA to add license headers automatically to your project files.
An Introduction to Epsilon GC: A No-Op Experimental Garbage Collector
Filed under JVM
Learn how Epsilon works, and explore the common use cases.
Combining JPA And/Or Criteria Predicates
Filed under JPA
Learn how to use the JPA Criteria API to implement use cases where we needed to combine AND/OR predicates.
Converting a String to a Date in Groovy
Filed under Groovy
Learn how to transform a String into a Date in the Groovy language, paying attention the peculiarities between the specific versions.
JDK Configuration for Maven Build in Eclipse
Learn how to configure Maven builds to work within the Eclipse IDE.
Static Content in Spring WebFlux
Filed under Spring Web
Explore how to serve static content in our web applications using Spring WebFlux.
A Guide to the Reflections Library
Filed under Java
Learn how to configure the Reflections library and use it in your Java projects
How to Change Java Version in an Eclipse Project
Filed under IDE
Learn how to add a new JRE into our Eclipse workspace and how to switch to a different Java version in our current Eclipse project.
Maven Enforcer Plugin
Filed under Maven
Learn about the Maven Enforcer Plugin and how we can use it to guarantee the level of compliance in our project.
SQL Injection and How to Prevent It?
Filed under Persistence, Security
Explore coding mistakes in Java that can lead to a vulnerable application and how to avoid them using the APIs available in the JVM’s standard runtime library.
An Introduction to Traits in Groovy
Filed under Groovy
Learn how to create traits in Groovy and explore some of their useful features.
A Quick Guide to Iterating a Map in Groovy
Filed under Groovy
Explore ways to iterate over a map in Groovy using standard language features like each, eachWithIndex, and a for-in loop.
Formatting JSON Dates in Spring Boot
Filed under JSON, Spring Boot
Explore a number of different ways to format JSON dates in a Spring Boot application.
Java Valhalla Project
Filed under Java
Learn about Project Valhalla – the current state of development and what it brings to the table for the day-to-day Java developer once it’s released.
Hibernate Aggregate Functions
Filed under Persistence
Explore the aggregate functions available in Hibernate.
A Guide to the Problem Spring Web Library
Filed under Spring
Learn how to use the Problem Spring Web library to create messages with the errors’ details using an application/problem+json response.
Defining a Char Stack in Java
Filed under Java Collections
Learn how to create a char stack in Java.
Filtering Jackson JSON Output Based on Spring Security Role
Filed under Jackson, Spring Security
Learn how to filter JSON output in a web application based on a Spring Security role.
An Introduction to ZGC: A Scalable and Experimental Low-Latency JVM Garbage Collector
Filed under JVM
Explore how Z Garbage Collector manages to keep low pause times on even multi-terabyte heaps.
Differences Between Oracle JDK and OpenJDK
Filed under JVM
Explore the differences between Oracle Java Development Kit and OpenJDK.
Accessing Spring MVC Model Objects in JavaScript
Filed under Spring MVC
Learn how to access Spring MVC objects in JSP views that contain JavaScript code.
Java Classes and Objects
Filed under Core Java
Explore two basic concepts of the Java language – classes and objects – with examples of their implementation.
Notify User of Login From New Device or Location
Filed under Spring Security
Learn how we can verify if our users are logging in from a new device/location.
Blade – A Complete Guidebook
Filed under Java
Explore a complete guidebook for a tiny Java 8+ MVC framework called Blade.
Java 8 Streams peek() API
Filed under Java Streams
Learn about the peek() method and explore the lifecycle of a stream.
Deprecated Classes in Spring
Filed under Spring Boot, Spring Security, Spring Web
Explore deprecated classes in Spring and Spring Boot.
Map to String Conversion in Java
Filed under Java Map
Learn how to convert a Map to a String and the other way around using both core Java methods and third-party libraries.
Using Curl in Java
Filed under Networking
Learn how to use the curl tool inside a Java program.
Spring WebClient and OAuth2 Support
Filed under HTTP Client-Side, Spring Security
Learn how to set up an application as an OAuth2 Client and use the WebClient to retrieve a secured resource in a full-reactive stack.
Attaching Values to Java Enum
Filed under Core Java
Explore features of the Java Enum implementation.
Differences Between ZonedDateTime and OffsetDateTime
Filed under Java Dates
Explore the differences between the ZonedDateTime and the OffsetDateTime classes in Java
Java Interfaces
Filed under Core Java
Explore the concept of Java interfaces and learn how Java uses them to implement polymorphism and multiple inheritance.
Control Structures in Java
Filed under Core Java
Learn about the control structures you can use in Java.
If-Else Statement in Java
Filed under Core Java
Learn how to use the if-else statement in Java.
The Java Native Keyword and Methods
Filed under Java
Learn the basics of the Java native keywords and methods.
Introduction to Basic Syntax in Java
Filed under Core Java
Explore the basics of Java syntax.
Java EE vs J2EE vs Jakarta EE
Filed under Jakarta EE
Learn how Java Enterprise evolved over the years.
Mapping a Dynamic JSON Object with Jackson
Explore multiple ways of handling dynamic JSON objects with Jackson.
Intersection of Two Lists in Java
Filed under Java Collections
Learn how to retrieve the intersection of two Lists.
A Guide to Hibernate OGM
Filed under Persistence
Explore the basics of Hibernate OGM, including its architecture.
Implementing a Custom Lombok Annotation
Filed under Java
Learn how to implement a custom annotation using Lombok handlers.
Pagination and Sorting using Spring Data JPA
Filed under Spring Data
Learn how to paginate and sort query results in Spring Data JPA.
Spring MVC Interview Questions
Filed under Spring MVC
Explore Spring MVC interview questions.
How to Start a Thread in Java
Filed under Java Concurrency
Explore different ways to start a thread and execute parallel tasks.
How to Check if Java Is Installed
Learn how to find out if Java is installed on a Windows 10, Mac OS X or Linux/Unix machine even if it’s not on the PATH.
Debugging Reactive Streams in Java
Learn how to efficiently and correctly debug reactive streams in Spring 5.
Hibernate Named Query
Filed under Persistence
Learn how to define and use named HQL and native queries.
Immutable Map Implementations in Java
Filed under Java Map
Explore the differences between an Unmodifiable Map and Immutable Map in Java.
Remove Leading and Trailing Characters from a String
Filed under Java String
Explore several ways to remove leading and trailing characters from a String.
Auto-Generated Field for MongoDB using Spring Boot
Filed under NoSQL, Spring Boot, Spring Persistence
Learn how to generate sequential, auto-incremented values for the id field and simulate the same behavior as seen in SQL databases.
Remove or Replace Part of a String in Java
Filed under Java String
Explore more than one way of removing and replacing a substring in Java.
A Guide to the Java Math Class
Filed under Java Numbers
Learn about the Math class that provides helpful static methods for performing numeric operations.
Difference Between @JoinColumn and mappedBy
Filed under JPA
Learn about the difference between @JoinColumn and mappedBy and how to use them in a one-to-many bidirectional relationship.
Guide to ReflectionTestUtils for Unit Testing
Learn how to use ReflectionTestUtils in unit testing by going through several examples.
Criteria API – An Example of IN Expressions
Filed under JPA
Learn different ways to achieve the IN operation using the Criteria API.
Pad a String with Zeros or Spaces in Java
Filed under Java String
Learn how to pad a String in Java with a specific character.
Calculate the Area of a Circle in Java
Filed under Algorithms, Java
Explore different ways of calculating the area of a circle using Java.
ZonedDateTime with Spring Data MongoDB
Filed under NoSQL, Spring Data
Learn how to create MongoDB converters in order to handle Java ZonedDateTime objects.
Limiting Query Results With JPA and Spring Data JPA
Filed under Spring Data
Learn about limiting query results with JPA and Spring Data JPA.
Deep Dive Into the New Java JIT Compiler – Graal
Filed under JVM
Explore the functionalities of the new Java JIT compiler – Graal.
Array Operations in Java
Filed under Java Array
Learn how we can handle common array operations in Java.
Get a Value by Key in a JSONArray
Filed under JSON
Learn how to parse a JSONArray to get all the mapped values for a given key.
HTTPS using Self-Signed Certificate in Spring Boot
Filed under Security, Spring Boot
Explore how to generate a self-signed certificate to enable HTTPS in a Spring Boot application.
An Introduction to SuanShu
Filed under Java
Learn about the SuanShu – a Java math library for numerical analysis, statistics, root finding, linear algebra, optimization, and lots more.
Heap Sort in Java
Filed under Algorithms
Learn how to implement a Binary Heap and Heap Sort in Java.
Validation for Functional Endpoints in Spring 6
Filed under Spring Web
Explore how to implement input validation for functional endpoints in Spring 5 to avoid unexpected errors later when we’re processing the data.
Convert XML to JSON Using Jackson
Learn different ways in which Jackson can read XML data and write it to JSON.
Combining Different Types of Collections in Java
Filed under Java Collections
Explore different ways of combining collections in Java.
Gradle: build.gradle vs. settings.gradle vs. gradle.properties
Filed under Gradle
Explore different configuration files of a Gradle Java project.
WildFly with Eclipse – Installation and Setup
Filed under Jakarta EE
Learn how to run and debug applications on WildFly directly from the Eclipse IDE.
Proxy in Hibernate load() Method
Filed under Persistence
Learn how Hibernate proxies work and how this impacts the load method with entities and their relationships.
Quicksort Algorithm Implementation in Java
Filed under Algorithms, Java
Explore the details of the QuickSort algorithm, focusing on the Java implementation.
Ternary Operator in Java
Filed under Core Java
Learn about the ternary operator ?:, which allows us to define conditional expressions in Java.
Operating on and Removing an Item from Stream
Filed under Java Streams
Learn about the various ways in which we can operate on an item in a Java 8 Stream and then remove it once the operation is complete.
Netflix Archaius with Various Database Configurations
Filed under Cloud, Persistence, Spring
Explore how we can setup various database configuration sources using Netflix Archaius.
Hibernate 5 Naming Strategy Configuration
Filed under Persistence
Learn about the relationship between the Implicit and Physical Naming Strategies.
A Quick Guide to @TestPropertySource
Learn how to use the @TestPropertySource Spring annotation effectively.
Lombok @Builder with Inheritance
Filed under Java
Learn how to deal with the @Builder annotation when inheritance is involved.
Check if Two Rectangles Overlap in Java
Filed under Algorithms, Java
Explore how to solve an algorithmic problem of finding whether the two given rectangles overlap with each other, using Java.
Server-Sent Events in Spring
Filed under Reactive, Spring Web
Explore the concept of Server-Sent-Events-based APIs with Spring.
Working With Custom HTML Attributes in Thymeleaf
Filed under Spring MVC
Explore how to define custom attributes in HTML5 tags using Thymeleaf.
JBoss Server – How to Start and Stop?
Filed under DevOps, Jakarta EE
Explore how to start and stop a JBoss server with different configurations.
Throw Exception in Optional in Java 8
Filed under Java
Explore how to throw an exception from Java 8 Optional.
Spring Security Login Page with Angular
Filed under Spring Security
Learn how to implement a Spring Security login page with Angular.
Java Check a String for Lowercase/Uppercase Letter, Special Character and Digit
Filed under Java String
Learn how we to check if a String contains at least one uppercase letter, lowercase letter, digit or special character in Java.
Difference Between Throw and Throws in Java
Filed under Core Java
Explore the difference between two Java keywords: throw and throws.
Introduction to Netflix Archaius with Spring Cloud
Filed under Spring Cloud
Learn about Netflix Archaius and some of the cool features it offers to take advantage of configuration management.
An Overview of Regular Expressions Performance in Java
Filed under Java
Explore how the pattern-matching engine works in Java.
Initialize a HashMap in Java
Filed under Java Map
Explore the various ways of initializing a Map, particularly to create empty, singleton, immutable and mutable maps.
Collections.emptyList() vs. New List Instance
Filed under Java Collections
Learn the differences between the Collections.emptyList() and a new list instance.
Why String Is Immutable in Java?
Filed under Java String
Explore why Strings in the Java language are immutable.
A Simple E-Commerce Implementation with Spring
Filed under Spring Boot
Explore how to create a simple e-commerce application, using Spring Boot and Angular frameworks.
Java Null-Safe Streams from Collections
Filed under Java Streams
Explore how to create a null-safe stream from a given collection.
Add Multiple Items to an Java ArrayList
Filed under Java Collections
Explore different ways of adding multiple items to an already initialized ArrayList.
Vue.js Frontend with a Spring Boot Backend
Filed under Spring Boot
Explore how to set up a web application using Spring Boot and Vue.js.
Overriding System Time for Testing in Java
Filed under Testing
Explore different ways to override the system time for testing.
Query Entities by Dates and Times with Spring Data JPA
Filed under Java Dates, Spring Data
Learn how to query entities using their dates and times fields with Spring Data JPA.
Initializing HashSet at the Time of Construction
Filed under Java Collections
Explore multiple ways to initialize a HashSet while it’s constructed.
Spring Security Custom AuthenticationFailureHandler
Filed under Spring Security
Learn how to customize application’s authentication failure handler by using the Spring’s AuthenticationFailureHandler interface.
Copy a List to Another List in Java
Filed under Java Collections
Explore different ways to copy a List to another List in Java and a common error produced in the process.
Stack Memory and Heap Space in Java
Filed under JVM
Explore how Stack Memory and Heap Space works and when to use them for developing better Java programs.
Spring Boot with Multiple SQL Import Files
Filed under Spring Boot, Spring Persistence
Learn how to configure Spring Boot application to load initial data from custom SQL files.
Spring AMQP in Reactive Applications
Filed under Reactive, Spring Persistence, Spring Web
Learn how to create a Spring Boot Reactive Application that integrates with the RabbitMQ messaging server, an implementation of the AMQP messaging standard.
How to Get the Start and the End of a Day using Java
Filed under Java Dates
Explore different ways of getting the start and end of a day in Java.
Testing Callbacks with Mockito
Filed under Testing
Explore two different ways of testing callbacks when using Mockito.
Introduction to Joda-Time
Filed under Java Dates
Learn about the most widely used date and time processing library, before the release of Java 8 – Joda-Time.
A Guide to DeltaSpike Data Module
Filed under Persistence
Explore the DeltaSpike Data module to simplify the implementation of the repository pattern.
Implementing a FTP-Client in Java
Filed under Java IO
Learn how to easily interact with an external FTP server in Java.
Thin JARs with Spring Boot
Filed under Spring Boot
Explore how to make a thin jar using Spring Boot Thin Launcher.
Generalized Target-Type Inference in Java
Filed under Java
Explore Java’s Type Inference, that along with generics and Lambda Expression enables us to write concise Java code.
Histograms with Apache Commons Frequency
Filed under Algorithms
Explore the Frequency class of Apache commons-math3 library.
Spring Core Annotations
Filed under Spring
Explore the most commonly used Spring core annotations.
Mockito ArgumentMatchers
Filed under Testing
Learn how to use the ArgumentMatcher and how it differs from the ArgumentCaptor.
Spring Scheduling Annotations
Filed under Spring
Explore the most common Spring scheduling annotations.
Spring Web Annotations
Filed under Spring MVC
Explore the main annotations you can use to handle HTTP requests and responses in Spring MVC.
Spring Boot Annotations
Filed under Spring Boot
Explore the Spring Boot Annotations.
Spring Data REST Events with @RepositoryEventHandler
Filed under REST, Spring Data
Learn how to handle entity events in Spring Data REST.
Exclude Fields from Serialization in Gson
Explore the options available to exclude fields from serialization in Gson.
Spring Data Annotations
Filed under Spring Data
Learn about the most important annotations we need to handle persistence using the Spring Data project
Use char[] Array Over a String for Manipulating Passwords in Java?
Filed under Security
Explore several reasons why we shouldn’t use Strings for storing passwords and use char[] arrays instead.
Java Optional – orElse() vs orElseGet()
Filed under Core Java
Explore the differences between Optional orElse() and OrElseGet() methods.
Hamcrest Common Core Matchers
Filed under Testing
Explore the different methods of CoreMatchers class in the Hamcrest library.
Check If a String Is Numeric in Java
Filed under Java String
Explore different ways to determine whether a String is numeric or not.
Pass-By-Value as a Parameter Passing Mechanism in Java
Filed under Core Java
Learn how parameter passing is handled in Java for the cases of Primitive and Object types.
A Guide To Logback
Filed under Logging
Explore the fundamentals of using Logback in your application.
Spring Cache – Creating a Custom KeyGenerator
Filed under Spring
Learn how to implement a custom Spring Cache KeyGenerator.
Handling NoClassDefFoundError for JAXBException in Java 9
Filed under Java
Learn how to solve the JAXBException when migrating to Java 9.
Sending Emails with Java
Filed under Java
Learn how to use the native Java mail library to send emails with and without attachments.
Working with Boolean in Thymeleaf
Filed under Spring MVC
Take a look at how to work with boolean values in Thymeleaf.
Testing Netty with EmbeddedChannel
Filed under Testing
Learn how to use EmbeddedChannel to test the functionality of the inbound and outbound channel handlers.
Maven Compiler Plugin
Filed under Maven
Learn how to use the Maven compiler plugin, used to compile the source code of a Maven project.
Using the JetS3t Java Client With Amazon S3
Filed under Cloud
Learn how to use JetS3t to connect to Amazon and work with different types of data using S3 buckets.
Conditionals in Thymeleaf
Filed under Spring MVC
Learn about the different types of Thymeleaf conditionals.
Java List UnsupportedOperationException
Filed under Java Collections
Have a look at the UnsupportedOperationException and how to avoid it when working with lists in Java.
Hamcrest Custom Matchers
Filed under Testing
Learn how to create custom matchers using Hamcrest
Introduction to Atlassian Fugue
Filed under Java
Learn about a Java library by Atlassian named Fugue that provides a collection of utilities to support Functional Programming.
Handling Cookies and a Session in a Java Servlet
Filed under Jakarta EE
Learn how to store user data between subsequent requests to the server, using cookies and a session.
Publish and Receive Messages with Nats Java Client
Filed under Data
Learn how to connect to a NATS server and sent both pub/sub messages and load-balanced queue messages.
The Spring @Controller and @RestController Annotations
Filed under REST, Spring MVC
Learn about the differences between @Controller and @RestController annotations in Spring MVC.
Hamcrest Object Matchers
Filed under Testing
Learn about Hamcrest Object matchers, which are a straightforward way of checking class properties.
Hamcrest Bean Matchers
Filed under Testing
Learn about Hamcrest bean matchers – a tool that provides an effective way of making assertions, a frequently used feature when writing unit tests.
A Guide to Flips for Spring
Filed under Spring
Learn about Flips, a library that implements feature flags in the form of powerful annotations for Spring Core, Spring MVC, and Spring Boot applications.
A Guide to Jdbi
Filed under Persistence
Learn how to query a relational database using an open source Java library – jdbi.
A Custom Task in Gradle
Filed under Gradle
Learn how to create a custom task in Gradle.
Security in Spring Integration
Filed under Spring Security
Learn how to use Spring Integration and Spring Security together in an integration flow.
JDBC with Groovy
Filed under Groovy
Learn how to use the Groovy SQL module and how it enhances and simplifies JDBC with closures and Groovy strings.
An Intro to Spring Cloud Task
Filed under Spring Cloud
Learn how Spring Cloud Task works and how to configure it to log its events in a database.
Intro to Google Cloud Storage with Java
Filed under Cloud
Hit the ground running with Google Cloud Storage with quick examples of how to create a bucket, write, read, and update data.
A Practical Guide to DecimalFormat
Filed under Java Numbers
Explore the Java’s DecimalFormat class along with its practical usages.
Code Analysis with SonarQube
Filed under DevOps
Learn how to set up a SonarQube server locally and how to use Quality Gate to define the criteria for the fitness of a project for production release.
AssertJ Exception Assertions
Filed under Testing
Learn how to use AssertJ for performing assertions on exceptions.
Life Cycle of a Thread in Java
Filed under Java Concurrency
Learn about the life cycle of a thread in Java.
Reliable Messaging with JGroups
Filed under DevOps
Learn how to create an application for exchanging messages using JGroups.
Exploring the New HTTP Client in Java
Filed under HTTP Client-Side
Explore the new Java HttpClient API which provides a lot of flexibility and powerful features.
wait and notify() Methods in Java
Filed under Java Concurrency
Learn how to use wait() and notify() to solve synchronization problems in Java.
Introduction to Lettuce – the Java Redis Client
Filed under NoSQL, Persistence
Learn how to use Lettuce to connect and query a Redis server from within our application.
Geospatial Support in ElasticSearch
Filed under NoSQL, Persistence
Learn how to save geo-data in Elasticsearch and query it using geo queries.
Introduction to Spliterator in Java
Filed under Java Streams
Learn about the Spliterator interface that can be used for traversing and partitioning sequences.
A Guide to JavaLite – Building a RESTful CRUD application
Filed under REST
Learn about a JavaLite framework to simplify common tasks that every developer has to deal with when building applications.
Writing a Jenkins Plugin
Filed under DevOps
Learn how to create from scratch a Jenkins plugin.
A Quick Guide to Maven Wrapper
Filed under Maven
Learn how to set up and use Maven Wrapper in a Maven project.
Java TreeMap vs HashMap
Filed under Java Map
Learn about the differences and similarities between TreeMap and HashMap.
Overview of Java Built-in Annotations
Filed under Core Java
Discover built-in annotations in Java.
Introduction to the OrientDB Java APIs
Filed under Persistence
A quick and practical introduction to OrientDB.
Using InfluxDB with Java
Filed under Persistence
Learn how to use an InfluxDB – a high-performance store for time-series data.
ExecutorService – Waiting for Threads to Finish
Filed under Java Concurrency
Learn how to use ExecutorService in various scenarios to wait for threads to finish their execution.
Configure Jenkins to Run and Show JMeter Tests
Learn how to set up a simple continuous delivery environment to run and show Apache JMeter tests in Jenkins.
Intro to Performance Testing using JMeter
Learn to use Apache JMeter to configure and run performance tests.
Creating a Custom Logback Appender
Filed under Logging
Learn how to implement a custom Logback appender.
Varargs in Java
Filed under Core Java
A quick and practical introduction to varargs in Java.
Convert Date to LocalDate or LocalDateTime and Back
Filed under Java Dates
Learn about possible ways of converting the between old java.util.Date classes and new java.time API.
Mock Final Classes and Methods with Mockito
Filed under Testing
Learn how to mock final classes and methods with Mockito.
How to Kill a Java Thread
Filed under Java Concurrency
Learn how to properly stop a Thread in Java.
Spring 5 Testing with @EnabledIf Annotation
Learn how to use the @EnabledIf and @DisabledIf annotations in JUnit 5 tests using a SpringExtension.
A Guide to Spring AbstractRoutingDatasource
Filed under Spring Persistence
Learn how to use the Spring AbstractRoutingDataSource to dynamically determine the actual DataSource based on the current context.
Introduction to Spring REST Shell
Learn how to use Spring REST Shell, a command-line tool built to facilitate working with HATEOAS-compliant REST APIs.
A Quick Guide to Using Keycloak With Spring Boot
Filed under Security, Spring Boot
Learn how to configure a Keycloak server and use it with a Spring Boot Application.
Mocking of Private Methods Using PowerMock
Filed under Testing
Learn how PowerMock can be used to extend the capability of Mockito for mocking and verification of private methods in the class under test.
Implementing a Runnable vs Extending a Thread
Filed under Java Concurrency
Learn why implementing Runnable is a better approach than extending Thread class.
A Guide to Spring Boot Admin
Filed under Spring Boot
Learn how to monitor and manage the Spring Boot applications using Spring Boot Admin.
Quick Guide to Micrometer
Learn about the metrics facade Micrometer and its integration with Spring.
A Guide to the Static Keyword in Java
Filed under Core Java
Learn about Java static fields, static methods, static blocks and static inner classes.
Bubble Sort in Java
Filed under Algorithms, Java
Learn how Bubble Sort algorithm works, and how to implement it in Java.
Advanced Querying in Apache Cayenne
Filed under Persistence
Learn how to write simple and advanced queries using Apache Cayenne.
JIRA REST API Integration
Filed under REST
Learn how to integrate with the JIRA Rest API to perform basic JIRA operations.
Introduction to JGraphT
Filed under Algorithms
Learn how to use JGraphT to create graphs and explore the variety of graph algorithms.
Introduction to Apache Cayenne ORM
Filed under Persistence
Learn how to interact with a MySQL database using Apache Cayenne ORM.
Querying Couchbase with N1QL
Filed under NoSQL, Persistence
Learn about querying a Couchbase Server with N1QL – the SQL equivalent for NoSQL databases.
Proxy, Decorator, Adapter and Bridge Patterns
Filed under Architecture
Learn about the Structural Design Patterns concept by discovering the differences between the Proxy, Decorator, Adapter and Bridge Patterns.
Binary Search Algorithm in Java
Filed under Algorithms, Java
Learn how and when to use the Binary Search algorithm.
Introduction to JCache
Filed under Data
Learn about a standard caching API for Java – JCache.
Number of Digits in an Integer in Java
Filed under Java Numbers
Learn different ways of getting the number of digits in an Integer in Java.
Introduction to MBassador
Discover MBassador – a high-performance pub-sub event bus.
Difference Between Two Dates in Java
Filed under Java Dates
Learn how to calculate the difference between dates in Java, using native approach, as well as external libraries.
Introduction to GraphQL
Filed under Web Services
Learn about GraphQL – a query language that provides an easy way of minimizing complexity between client/server as an alternative approach to REST applications.
Converting a List to String in Java
Filed under Java String
Learn how to convert a List to a String using different techniques.
Custom Login Page for Returning User
Learn how to develop a custom login page for users returning to our application.
Guide to the Volatile Keyword in Java
Filed under Java Concurrency
Learn about the Java volatile keyword and its capabilities.
Spring Batch using Partitioner
Filed under Spring
Learn how to implement a job with parallel processing using Spring Batch.
Java 9 java.util.Objects Additions
Filed under Java
Learn about the new utility methods introduced in the java.util.Objects class in Java 9.
Introduction to NoException
Filed under Java
Learn about the NoException library that provides concise and handy exception handlers.
Collect a Java Stream to an Immutable Collection
Filed under Java Streams
Learn how to collect Java Streams to immutable Collections.
Introduction to MockServer
Filed under Testing
Explore the MockServer – the tool for mocking/stubbing external HTTP APIs.
Spring Cloud Bus
Filed under Jakarta EE, Spring Cloud
Learn how to use Spring Cloud Bus for broadcasting configuration changes and automating client updates.
Introduction to Vaadin
Filed under Jakarta EE
Learn how to use Vaadin – a server-side Java framework for creating web user interfaces.
Guide to PDFUnit
Filed under Java IO
Learn how to use PDFUnit to test PDFs text, images, bookmarks and much more.
Java Static Analysis Tools in Eclipse and IntelliJ IDEA
Filed under IDE
Learn how to use PMD and Cobertura – static analysis tools for Java – and how they integrate with Eclipse and IntelliJ IDEA.
Introduction to Minimax Algorithm with a Java Implementation
Filed under Algorithms
Learn how to implement one of the most popular problem solver for computer board games – the Minimax algorithm.
BigDecimal and BigInteger in Java
Filed under Java Numbers
Learn about the Java BigDecimal and the BigInteger data-types.
A Guide To Cron Expressions
Filed under DevOps
Quick guide to the Unix-based utility cron utility.
A Java Client for a WebSockets API
Filed under Spring
Learn how to use Spring to implement a Java client to consume a WebSockets API.
Monte Carlo Tree Search for Tic-Tac-Toe Game in Java
Filed under Algorithms
Learn Monte Carlo Tree Search (MCTS) algorithm and its applications by exploring implementation for Tic-Tac-Toe game in Java.
Changing the Order in a Sum Operation Can Produce Different Results?
Filed under Java Numbers
Learn how the computers represent numbers and why changing the sum order returns a different result.
Introduction to Liquibase Rollback
Filed under Persistence
Learn how to use the rollback feature of a Liquibase framework.
How to Get All Spring-Managed Beans?
Filed under Spring Boot
Learn about different techniques for displaying all Spring-managed beans.
Example of Hill Climbing Algorithm in Java
Filed under Algorithms
Learn to implement the Hill-Climbing algorithm in Java – the heuristic technique used for finding the optimal results in large solution space.
How to Inject a Property Value Into a Class Not Managed by Spring?
Filed under Spring
Learn how to initialize properties values in Java classes without the direct use of Spring’s injection mechanism.
Guide to Dynamic Tests in Junit 5
Filed under Testing
Learn about dynamic tests introduced in JUnit 5 – a new programming model that supports full test lifecycle.
Introduction to Testing with Arquillian
Filed under Testing
Learn how to prepare and execute tests using Arquillian, a container-agnostic integration testing framework.
ClassNotFoundException vs NoClassDefFoundError
Filed under Java
Learn about the differences between ClassNotFoundException and NoClassDefFoundError.
Introduction to Mustache
Filed under Jakarta EE
Learn how to use Mustache, a logicless template engine for creating dynamic HTML pages, configuration files, etc.
Introduction to Drools
Filed under Java IO
Learn how to use Drools as a Business Rule Management System (BRMS).
A Guide to @RepeatedTest in JUnit 5
Filed under Testing
Learn different ways of using and configuring the @RepeatedTest annotation provided by JUnit.
JHipster with a Microservice Architecture
Filed under Architecture
Learn how to build a microservices architecture using JHipster.
Guide to Java Data Objects
Filed under Persistence
Learn how to use the Java Data Objects (JDO) – designed for persisting object-oriented data into any database.
Converting a Stack Trace to a String in Java
Filed under Core Java
Learn how to convert a Stack Trace to a String using core Java method or Apache Commons-Lang library.
Guide to the Most Important JVM Parameters
Filed under JVM
Learn about the most important JVM parameters which can be used to improve web applications performance.
Testing in Spring Boot
Filed under Spring Boot, Testing
Learn about how the Spring Boot supports testing, to write unit tests efficiently.
Introduction to Apache Commons Math
Filed under Java Numbers
Learn about the Apache Commons Math, which is the biggest open-source library of mathematical functions and utilities for Java.
Quick Guide to MyBatis
Filed under Persistence
Learn about MyBatis, an open source persistence framework which simplifies the implementation of database access.
JVM Garbage Collectors
Filed under JVM
Learn the basics of different JVM Garbage Collection (GC) mechanisms and use cases.
JVM Log Forging
Filed under JVM
Learn about JVM log forging and techniques to overcome this security concern.
Converters, Listeners and Validators in Java EE 7
Filed under Jakarta EE
Learn about converters, listeners, and validators provided by Java EE 7.
Quick Guide to the Java StringTokenizer
Filed under Java String
Learn how to use StringTokenizer in Java.
Check If a Number Is Prime in Java
Filed under Java Numbers
Learn how to check the primality of the number using Java.
Cucumber and Scenario Outline
Filed under Testing
Learn how to write Behavioral Driven Development (BDD) unit tests using Cucumber and its concept named Scenario Outline.
Custom Information in Spring Boot Info Endpoint
Filed under Spring Boot
Learn how to add custom data to Spring Boot Actuator’s /info endpoint.
Ratpack Google Guice Integration
Filed under Reactive
Learn how to use a Java open source software framework, Google Guice, by integrating it with Ratpack.
A Guide to GemFire with Spring Data
Filed under Spring Data
Learn how to use GemFire to efficiently manage distributed data.
CORS in JAX-RS
Filed under Jakarta EE
Learn how to implement Cross-Origin Resource Sharing (CORS) mechanism in JAX-RS based applications.
Full-text Search with Solr
Filed under Persistence
Learn how to use Solr Search Engine’s capabilities and features, such as building different queries, search faceting, highlighting and suggesting terms.
Using Math.pow in Java
Filed under Java Numbers
Learn how to use the Java’s Math.pow() method to calculate the power of any given base quickly.
Introduction to Project Jigsaw
Filed under Java
Learn how to create, compile and run a simple modular application, using new JDK tools, introduced as a Project Jigsaw.
Introduction to JSONassert
Learn how to use a JSONassert library, focused on understanding JSON data, by writing complex JUnit tests.
Introduction to JiBX
Filed under XML
Learn how to use JiBX to convert XML to Java POJOs and vice versa.
Introduction to Ratpack
Filed under Reactive
Learn how to use Ratpack, a set of JVM based libraries built for modern days high-performance web applications.
Using Custom Banners in Spring Boot
Filed under Spring Boot
Learn how to configure custom start-up banners in Spring Boot applications.
Introduction to Javatuples
Filed under Data
Learn how to use javatuples library that provides elegant semantics for working with tuples.
Introduction to Twitter4J
Filed under Java
Learn how to communicate with the Twitter API from Java using the Twitter4J.
Introduction to Java 9 StackWalking API
Filed under Core Java
In this article, we will look at Java 9’s new StackWalking API that provides an access to a Stream of StackFrames.
Java Primitive Conversions
Filed under Core Java
The most useful conversions of Java primitive types.
Java 9 Process API Improvements
Filed under Core Java
A quick intro to the interesting Java 9 additions to the Process API and how these give us much more control over the running and spawned processes.
Guide to java.util.concurrent.Locks
Filed under Java Concurrency
In this article, we explore various implementations of the Lock interface and the newly introduced in Java 9 StampedLock class.
Guide to Spring WebUtils and ServletRequestUtils
Filed under Spring MVC
In this article, we explore the build-in web request utils in Spring MVC – WebUtils, ServletRequestUtils.
Introduction to Apache Velocity
Filed under Jakarta EE
Learn the main features of Apache Velocity and explore how it can be used to create dynamic web pages in a Java web application.
String Operations with Java Streams
Filed under Java Streams
Learn how to split a comma-separated String into a list of Strings and how to join a String array into a comma-separated String.
Spring @RequestMapping New Shortcut Annotations
Filed under REST, Spring MVC
In this article, we introduce different types of @RequestMapping shortcuts for quick web development using traditional Spring MVC framework.
A Guide to Spring Mobile
Filed under Spring
This article, focuses on the Spring Mobile project. We are highlighting use cases of Spring Mobile by building a sample project.
Chained Exceptions in Java
Filed under Java
In this tutorial we are covering the topic of chained exceptions in Java, based on the code examples.
New Stream Collectors in Java 9
Filed under Java Streams
In this article, we explore new Stream collectors that were introduced in JDK 9
A Guide to JGit
Filed under DevOps
Learn the basics of using JGit – a Git version control written in Java.
A Guide to MongoDB with Java
Filed under NoSQL, Persistence
Learn how to use MongoDB with a simple, standalone Java client.
A Basic AWS Lambda Example With Java
Filed under Cloud
Learn how to create and deploy a simple AWS Lambda app in Java.
A Guide To Spring Redirects
Filed under Spring MVC
A guide to redirect and forward in Spring MVC, with a focus on the code and implementation of each strategy.
Java Timer
Filed under Core Java
Using the Java Timer and TimerTask to get the most out of it. Schedule a delayed one time task, a daily task or just repeat on an interval. Cool beans.