Custom Boot Banner Configuration in Spring Applications
In a Spring Boot application, the console startup banner is driven by a file named banner.txt. Place it under src/main/resources to replace the default Spring artwork.
Composing the Banner
The file supports plain text, ASCII art, and property placeholders using ${...} syntax. Colors are applied via ${AnsiColor.xxx} constants defined in org.spri ...
Posted on Fri, 11 Sep 2026 16:13:05 +0000 by fasmy98
Apache Tomcat Installation, Configuration, and Deployment Guide
Environment Setup and Installation
1. Deploying Java Environment
Install the OpenJDK runtime environment using the system package manager.
yum install java-1.8.0-openjdk -y
java -version
2. Installing Tomcat
Download the binary distribution from the Apache mirror, extract it, and configure the environment variables.
mkdir -p /data/software
cd ...
Posted on Fri, 11 Sep 2026 16:12:20 +0000 by piyushsharmajec
Understanding Annotations in Java
Annotations in Java, introduced in JDK 1.5, serve as a form of metadata, providing declarative information about code elements. Unlike comments, which are for human readers, annotations are intended for the Java compiler or runtime environment.
Annotations can be applied to packages, classes, fields, methods, and parameters, offering insights o ...
Posted on Fri, 11 Sep 2026 16:04:07 +0000 by Jakehh
Extracting Protocol and Domain from a URL in Java
The java.net.URL class can parse a URL string and expose its components. To obtain the portocol and host, create a URL instanec and call getProtocol() and getHost().
import java.net.URL;
public class UrlParser {
public static void main(String[] args) throws Exception {
URL endpoint = new URL("https://docs.oracle.com/en/java/&q ...
Posted on Thu, 10 Sep 2026 16:47:59 +0000 by fry2010
Integrating Third-Party Services with Java Applications
In modern software development, connecting your application with external services is a common requirement. Whether you need to process payments, send SMS notifications, or integrate with cloud platforms, understanding how to interact with third-party APIs is essential. This guide walks through the process of integrating external services using ...
Posted on Thu, 10 Sep 2026 16:17:50 +0000 by chadu
Processing Collections with Java Streams
Understanding Streams in Java
Introduction and Stream Utility
Consider a scenario where you need to filter and process a collection of strings. Given a list of names, the task are: extract names starting with a specific prefix, further filter those by length, and finally display the results.
Example using a traditional approach:
import java.uti ...
Posted on Thu, 10 Sep 2026 16:12:52 +0000 by jemrys
Log4j2 Integration with Spring Boot
Log4j2 offers significant advantages over Logback, particularly in terms of performance and asynchronous logging capabilities. While Spring Boot typically uses Logback by default, there are compelling reasons to consider Log4j2 instead, especially in high-concurrency scenarios where async logging can make a substantial difference in system perf ...
Posted on Thu, 10 Sep 2026 16:09:55 +0000 by castor_troy
Java Enums: A Comprehensive Guide
Introduction: The Problem with Regular Classes for Fixed Sets of Values
Consider designing a Season class that should only represent a finite set of values (spring, summer, autumn, winter) and be read-only. A regular class fails because it allows unlimited instances and mutable data through setters.
Example: Inadequate regular class
public clas ...
Posted on Thu, 10 Sep 2026 16:06:15 +0000 by dinosoup
Dynamic SQL Date and Loop Queries
Dynamic SQL for Date Range and List Queries
When building dynamic queries in MyBatis, it's common to filter by date ranges and iterate over a list of values. Below is an example showing how to handle both scenarios using MyBatis dynamic SQL with where, if, and foreach tags.
SQL Mapping
<select id="selectQuotaManagement" resultType= ...
Posted on Wed, 09 Sep 2026 16:57:14 +0000 by theDog
Implementing Conversation Memory in Java AI Agents for Reimbursement Systems
Implementing Conversation Memory in Java AI Agents for Reimbursement Systems
Core Objective: Adding Memory to Reimbursement Processes
In reimbursement scenarios, convesrations typically span multiple turns, such as:
User: "I need to expense a business trip"
Assistant: "Sure, please provide the amount and purpose"
User: " ...
Posted on Wed, 09 Sep 2026 16:55:12 +0000 by IceD