Tagged articles
3868 articles
Page 35 of 39
Programmer DD
Programmer DD
Sep 9, 2020 · Backend Development

Understanding Spring Boot Config File Priority: properties vs yaml

Spring Boot loads configuration files in a defined order, giving higher priority to application.properties over application.yaml, and searches locations such as file:./config/, file:./, classpath:/config/, and classpath:/, with merging behavior that interviewers often test.

Spring BootYAMLconfiguration
0 likes · 5 min read
Understanding Spring Boot Config File Priority: properties vs yaml
Programmer DD
Programmer DD
Sep 9, 2020 · Backend Development

How to Integrate Spring Boot with Netty Using Protobuf for Efficient Data Transfer

This article walks through integrating Spring Boot with Netty and using Google Protobuf for binary data exchange, covering Protobuf basics, Maven setup, code generation, server and client implementations, heartbeat handling, reconnection logic, and testing results, all with complete Java examples.

Data TransferNettyProtobuf
0 likes · 20 min read
How to Integrate Spring Boot with Netty Using Protobuf for Efficient Data Transfer
Top Architect
Top Architect
Sep 8, 2020 · Backend Development

Comprehensive Guide to Spring Boot and JPA Annotations

This article provides a detailed overview of common Spring Boot, Spring MVC, and JPA annotations—including @SpringBootApplication, @RestController, @RequestMapping, and JPA mapping annotations—explaining their purposes, usage patterns, and example code snippets for building Java backend applications.

JavaSpring Bootannotations
0 likes · 9 min read
Comprehensive Guide to Spring Boot and JPA Annotations
Architect's Tech Stack
Architect's Tech Stack
Sep 8, 2020 · Backend Development

Implementing a Two‑Level Cache System with Guava and Redis in Java

This article explains how to design and build a simple two‑level caching solution in Java, covering generic cache interfaces, local caching with Guava, distributed caching with Redis, configuration details, version‑controlled cache keys, and practical usage within a Spring Boot application.

CachingGuavaRedis
0 likes · 25 min read
Implementing a Two‑Level Cache System with Guava and Redis in Java
Top Architect
Top Architect
Sep 5, 2020 · Backend Development

Spring Boot API Project Seed – A Backend Development Starter Kit with Code Samples

This article introduces a Spring Boot API project seed that combines MyBatis, a generic Mapper plugin, and PageHelper, offering ready‑made project structure, unified response handling, exception processing, code generation utilities, signature authentication, and integration guides to accelerate backend development.

APICode GeneratorJava
0 likes · 10 min read
Spring Boot API Project Seed – A Backend Development Starter Kit with Code Samples
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Sep 5, 2020 · Operations

Understanding Message Queues (MQ) and Using ActiveMQ with Java and Spring Boot

This article explains the fundamentals of message queues, why they are needed for decoupling, asynchronous processing and throttling, introduces JMS concepts, details ActiveMQ storage options and protocols, and provides practical Java and Spring Boot code examples for producers, consumers, and advanced features such as transactions, persistence, and delayed delivery.

ActiveMQDecouplingJMS
0 likes · 26 min read
Understanding Message Queues (MQ) and Using ActiveMQ with Java and Spring Boot
Java Architect Essentials
Java Architect Essentials
Sep 4, 2020 · Backend Development

Implementing Reliable Email Sending with RabbitMQ in Spring Boot

This article demonstrates how to build a robust email‑sending service using Spring Boot and RabbitMQ, covering message confirmation, consumer idempotency, retry mechanisms, configuration details, and complete source code examples for producers, consumers, and scheduled re‑delivery tasks.

EmailMessage QueueRabbitMQ
0 likes · 12 min read
Implementing Reliable Email Sending with RabbitMQ in Spring Boot
Programmer DD
Programmer DD
Sep 4, 2020 · Artificial Intelligence

How to Build a Java Spring Boot License Plate Recognition System with OpenCV

An open-source Java Spring Boot project demonstrates license plate detection and recognition using OpenCV, supporting multiple plate colors, with SVM and ANN training, detailed architecture, feature list, installation guide, and visual processing steps, offering a beginner-friendly tutorial for image recognition enthusiasts.

Machine LearningOpenCVSpring Boot
0 likes · 7 min read
How to Build a Java Spring Boot License Plate Recognition System with OpenCV
Programmer DD
Programmer DD
Sep 4, 2020 · Backend Development

How to Integrate QQ Login in Spring Boot: Step‑by‑Step Guide

This tutorial walks you through registering a QQ Connect application, adding the required Maven dependency, creating the login page, implementing the Spring Boot controller and AuthComment utility class, configuring Freemarker, and handling the OAuth flow to achieve seamless QQ authentication in a Java backend.

AuthenticationOAuthQQ Login
0 likes · 10 min read
How to Integrate QQ Login in Spring Boot: Step‑by‑Step Guide
Java Architecture Diary
Java Architecture Diary
Sep 4, 2020 · Cloud Computing

Boost Java Cloud Run Performance: Proven JVM and Container Optimizations

Learn how to accelerate Java applications on Google Cloud Run by minimizing container image size, leveraging container-aware JVM settings, reducing thread usage, and applying Spring Boot-specific tweaks such as layered JARs, lazy initialization, and avoiding background tasks to cut startup latency and memory consumption.

Cloud RunContainer OptimizationDocker
0 likes · 17 min read
Boost Java Cloud Run Performance: Proven JVM and Container Optimizations
Top Architect
Top Architect
Sep 3, 2020 · Backend Development

Building a Robust Backend API with Spring Boot: Validation, Global Exception Handling, and Unified Response

This article demonstrates how to construct a well‑structured Spring Boot backend API by integrating request validation with Hibernate Validator, implementing global exception handling, defining custom exceptions, and standardizing responses using a unified response object and response‑body advice.

Exception HandlingParameter ValidationSpring Boot
0 likes · 18 min read
Building a Robust Backend API with Spring Boot: Validation, Global Exception Handling, and Unified Response
Selected Java Interview Questions
Selected Java Interview Questions
Sep 2, 2020 · Backend Development

Three Ways to Start a Spring Boot Application

This article explains the three primary ways to launch a Spring Boot application—running a class with a main method, using the java -jar command, and leveraging the spring-boot-maven-plugin—along with code examples, configuration details, and Maven command options.

JavaMavenSpring Boot
0 likes · 5 min read
Three Ways to Start a Spring Boot Application
Code Ape Tech Column
Code Ape Tech Column
Sep 2, 2020 · Backend Development

Master MyBatis with Spring Boot: Setup, Configuration, and CRUD Guide

This tutorial walks through integrating MyBatis with Spring Boot, covering Maven dependencies, datasource configuration, mapper scanning, basic CRUD XML mappings, the differences between #{ } and ${ }, auto‑generated key handling, SQL fragments, and enabling camel‑case mapping for seamless Java‑to‑database interaction.

CRUDDatabaseJava
0 likes · 14 min read
Master MyBatis with Spring Boot: Setup, Configuration, and CRUD Guide
Architect
Architect
Aug 30, 2020 · Backend Development

Root Cause Analysis of Excessive Swap Memory Usage in a Spring Boot Application

The article details a step‑by‑step investigation of abnormal swap memory consumption in a Spring Boot project, revealing that native memory allocated by the Inflater during JAR scanning was not released promptly, leading to apparent memory leaks that were ultimately resolved by configuring package scanning and updating Spring Boot.

JavaMemory LeakNative Memory
0 likes · 12 min read
Root Cause Analysis of Excessive Swap Memory Usage in a Spring Boot Application
Architecture Digest
Architecture Digest
Aug 29, 2020 · Databases

Cleaning Up Shared Redis Keys After a Business Line Decommission: Challenges and Solutions

This article describes how a team released resources after shutting down a business line, focusing on the difficulties of deleting Redis keys from a shared cluster, the step‑by‑step approach using code search, Python scripts, SCAN and DEBUG OBJECT commands, and the implementation of a custom key‑prefix serializer to prevent future issues.

PythonSpring Bootdatabase cleanup
0 likes · 7 min read
Cleaning Up Shared Redis Keys After a Business Line Decommission: Challenges and Solutions
Java Architecture Diary
Java Architecture Diary
Aug 27, 2020 · Information Security

How to Mitigate the Critical Jackson‑databind CVE‑2020‑24616 Vulnerability in Spring Boot

This article explains the high‑severity CVE‑2020‑24616 deserialization flaw in jackson‑databind, identifies affected Jackson and Spring Boot versions, and provides Maven‑based remediation steps such as version pinning, dependency exclusions, and dependencyManagement configuration to prevent remote code execution.

CVE-2020-24616DeserializationJackson
0 likes · 4 min read
How to Mitigate the Critical Jackson‑databind CVE‑2020‑24616 Vulnerability in Spring Boot
Java Architecture Diary
Java Architecture Diary
Aug 24, 2020 · Backend Development

Why Is Spring Boot Admin’s HTTP Trace Missing? How to Restore It

This article explains why the HTTP trace feature disappears in Spring Boot Admin after version 2.2.x, details the investigation steps that reveal the default disabling of the InMemoryHttpTraceRepository, and recommends using third‑party tracing solutions such as Prometheus with Grafana for observable metrics.

GrafanaHTTP TraceObservability
0 likes · 3 min read
Why Is Spring Boot Admin’s HTTP Trace Missing? How to Restore It
Top Architect
Top Architect
Aug 23, 2020 · Backend Development

Comprehensive Guide to RabbitMQ: Usage Scenarios, Exchange Types, Configuration, and Reliability Practices

This article explains the core purposes of message queues such as converting synchronous operations to asynchronous, decoupling services, and handling traffic spikes, then details RabbitMQ architecture, various exchange types (Direct, Topic, Fanout), provides Spring‑Boot code examples for producers and consumers, and discusses persistence, acknowledgment mechanisms, and best‑practice configurations for reliable messaging.

Message QueueMessagingRabbitMQ
0 likes · 17 min read
Comprehensive Guide to RabbitMQ: Usage Scenarios, Exchange Types, Configuration, and Reliability Practices
Top Architect
Top Architect
Aug 22, 2020 · Backend Development

Comprehensive Guide to Spring Validation: Usage, Advanced Features, and Implementation Principles

This article provides a thorough tutorial on Spring Validation, covering basic usage with requestBody and requestParam, dependency setup, group, nested, collection and custom validations, programmatic validation, fail‑fast mode, differences between @Valid and @Validated, as well as the underlying implementation mechanisms in Spring MVC and method‑level AOP validation.

APIHibernate ValidatorJava
0 likes · 17 min read
Comprehensive Guide to Spring Validation: Usage, Advanced Features, and Implementation Principles
Selected Java Interview Questions
Selected Java Interview Questions
Aug 19, 2020 · Backend Development

Using MyBatis‑Plus to Simplify CRUD Operations in Java Spring Boot

This article introduces MyBatis‑Plus, a powerful Java ORM that eliminates the need for manual XML mappings by providing ready‑made CRUD APIs, demonstrates how to configure Maven dependencies, define entity and mapper classes, and implement common database operations such as insert, delete, update, select, pagination, and complex conditional queries within a Spring Boot controller, all while showing the generated SQL statements.

CRUDJavaMybatis-Plus
0 likes · 20 min read
Using MyBatis‑Plus to Simplify CRUD Operations in Java Spring Boot
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Aug 19, 2020 · Backend Development

Implementing Transactional Messages with Apache RocketMQ

This article explains how to use Apache RocketMQ's 2PC-based transactional messaging feature, covering the overall workflow, key concepts such as half messages and compensation, and providing complete Java/Spring Boot code examples for producers, transaction listeners, and consumers.

2PCDistributed SystemsJava
0 likes · 12 min read
Implementing Transactional Messages with Apache RocketMQ
Senior Brother's Insights
Senior Brother's Insights
Aug 18, 2020 · Backend Development

How to Send Emails with Spring Boot in Minutes: A Step‑by‑Step Guide

This guide explains the fundamentals of email protocols, shows how to configure Spring Boot’s mail starter, and provides complete code examples for sending plain‑text and HTML emails—including dependency setup, property configuration, and unit‑test snippets—so developers can quickly integrate reliable email functionality into their Java backend applications.

EmailHTML emailJavaMailSender
0 likes · 9 min read
How to Send Emails with Spring Boot in Minutes: A Step‑by‑Step Guide
Senior Brother's Insights
Senior Brother's Insights
Aug 17, 2020 · Backend Development

Integrating ActiveMQ with Spring Boot for Asynchronous Messaging

This guide explains how to use Spring Boot's ActiveMQ starter to configure, code, and test both queue (point‑to‑point) and topic (publish‑subscribe) messaging, covering JMS fundamentals, project setup, bean definitions, listener annotations, and dual‑mode container factories.

ActiveMQAsynchronousJMS
0 likes · 13 min read
Integrating ActiveMQ with Spring Boot for Asynchronous Messaging
macrozheng
macrozheng
Aug 17, 2020 · Backend Development

Mastering Spring Boot & RabbitMQ Message Confirmation: Tips & Pitfalls

This article walks through implementing message confirmation in a Spring Boot application using RabbitMQ, covering environment setup, configuration, producer and consumer callback implementations, acknowledgment methods, common pitfalls such as missed acks and infinite redelivery, and practical debugging and retry strategies to ensure reliable messaging.

JavaMessage ConfirmationRabbitMQ
0 likes · 12 min read
Mastering Spring Boot & RabbitMQ Message Confirmation: Tips & Pitfalls
Top Architect
Top Architect
Aug 16, 2020 · Backend Development

Implementing API Idempotency in Spring Boot Using Redis and Token Mechanism

This article explains how to achieve API idempotency in a Spring Boot application by generating unique tokens, storing them in Redis, and using a custom @ApiIdempotent annotation with an interceptor to prevent duplicate requests, including code examples, configuration, and testing procedures.

APIIdempotencyInterceptor
0 likes · 14 min read
Implementing API Idempotency in Spring Boot Using Redis and Token Mechanism
Programmer DD
Programmer DD
Aug 16, 2020 · Backend Development

What’s New in Spring Boot 2.4.0-M2? Explore the Latest Features

Spring Boot 2.4.0-M2 has been released, bringing a host of backend enhancements such as non‑reflection configuration processing, optional cookie tracing, HTTP/2 improvements, new r2dbc support, Redis Cluster controls, and added authentication for Prometheus, all detailed in the official release notes.

Spring Bootfeaturesrelease
0 likes · 2 min read
What’s New in Spring Boot 2.4.0-M2? Explore the Latest Features
Programmer DD
Programmer DD
Aug 13, 2020 · Backend Development

How to Determine User City from IP in Spring Boot: A Practical Guide

This article explains why identifying a user's city via IP is crucial for operations, outlines various IP-to-city methods, and provides a complete Spring Boot implementation—including IP extraction, QQWry library integration, custom interceptors, and REST endpoints—to count visits per city.

IP geolocationInterceptorSpring Boot
0 likes · 6 min read
How to Determine User City from IP in Spring Boot: A Practical Guide
Selected Java Interview Questions
Selected Java Interview Questions
Aug 12, 2020 · Information Security

Integrating Apache Shiro with Spring Boot for Permission Management

This article demonstrates how to integrate the Apache Shiro security framework into a Spring Boot application, covering Maven dependencies, Shiro configuration, custom Realm implementation, login authentication, controller-level access control, and Thymeleaf front‑end button visibility based on roles and permissions.

JavaPermission managementSecurity
0 likes · 13 min read
Integrating Apache Shiro with Spring Boot for Permission Management
Programmer DD
Programmer DD
Aug 11, 2020 · Backend Development

Simplify Spring Boot HTTP Calls with Retrofit Spring Boot Starter

This guide explains how to integrate Retrofit into a Spring Boot project using the retrofit‑spring‑boot‑starter, covering dependency setup, annotation configuration, custom interceptors, connection pool management, logging, exception formatting, call adapters, converters, and global interception to make HTTP client development more elegant and maintainable.

HTTP clientInterceptorRetrofit
0 likes · 15 min read
Simplify Spring Boot HTTP Calls with Retrofit Spring Boot Starter
Java Architecture Diary
Java Architecture Diary
Aug 11, 2020 · Backend Development

What Is Mica? A Minimalist Java Microservice Core for Spring Boot & Cloud

Mica, originally derived from the internal lutool project, is a lightweight Java 8‑based microservice core that supports both traditional Servlet and Reactive WebFlux, auto‑generates Spring configuration, adds metrics, Redis utilities, RSA helpers, and integrates with Prometheus and Grafana, with its source available on GitHub and Gitee.

JavaMetricsOpen Source
0 likes · 3 min read
What Is Mica? A Minimalist Java Microservice Core for Spring Boot & Cloud
Open Source Linux
Open Source Linux
Aug 11, 2020 · Backend Development

Build a Docker‑Based Kafka Cluster and Integrate It with Spring Boot

This guide walks you through creating a three‑node Kafka cluster with Zookeeper using Docker‑Compose, configuring the necessary YAML, launching the containers, and then integrating the cluster into a Spring Boot application by adding dependencies, setting Kafka properties, defining message, sender, and receiver classes, and testing the message flow.

DockerDocker-ComposeKafka
0 likes · 6 min read
Build a Docker‑Based Kafka Cluster and Integrate It with Spring Boot
Java Architecture Diary
Java Architecture Diary
Aug 10, 2020 · Backend Development

What’s New in ElasticJob 3.0.0‑alpha? Features, API Changes, and Release Highlights

ElasticJob 3.0.0‑alpha introduces a Spring Boot starter for ElasticJob‑Lite, one‑time tasks, expanded database support for execution logs, environment‑variable IP declaration, and several API changes including a new Maven groupId, package name, namespace, SPI‑based job types, and modular UI separation.

API changesBackend DevelopmentDistributed Scheduling
0 likes · 3 min read
What’s New in ElasticJob 3.0.0‑alpha? Features, API Changes, and Release Highlights
Architect's Tech Stack
Architect's Tech Stack
Aug 9, 2020 · Backend Development

Creating a Spring Boot Starter to Log Method Execution Time

This tutorial explains how to build a custom Spring Boot starter in four steps—setting up a Maven project, defining auto‑configuration with AOP, registering the starter via spring.factories, and packaging it—so that methods annotated with a custom @AspectLog annotation automatically log their execution duration.

AOPSpring BootStarter
0 likes · 9 min read
Creating a Spring Boot Starter to Log Method Execution Time
Programmer DD
Programmer DD
Aug 8, 2020 · Backend Development

How to Build a Custom Spring Boot Starter that Logs Method Execution Time

Learn how to create a custom Spring Boot starter named aspectlog-spring-boot-starter that automatically logs method execution times using AOP, covering project setup, Maven configuration, conditional loading, annotation definition, auto‑configuration class, META‑INF registration, and packaging for reuse in other projects.

AOPCustom StarterSpring Boot
0 likes · 9 min read
How to Build a Custom Spring Boot Starter that Logs Method Execution Time
Senior Brother's Insights
Senior Brother's Insights
Aug 6, 2020 · Backend Development

How to Achieve Automatic API Idempotency with Spring Boot, Redis, and Custom Annotations

This article explains how to implement automatic idempotency for Spring Boot APIs using Redis, a custom @AutoIdempotent annotation, token generation and validation, and an interceptor, providing step‑by‑step code examples, configuration details, and testing procedures to ensure each request is processed only once.

InterceptorJavaRedis
0 likes · 12 min read
How to Achieve Automatic API Idempotency with Spring Boot, Redis, and Custom Annotations
Architecture Digest
Architecture Digest
Aug 4, 2020 · Information Security

Integrating Apache Shiro with Spring Boot for Authentication and Authorization

This guide demonstrates how to integrate Apache Shiro into a Spring Boot application, covering project setup, Maven dependencies, configuration of Redis-backed session and cache management, creation of utility and realm classes, and implementation of role‑based permission controls with example controllers and Postman testing.

AuthenticationAuthorizationJava
0 likes · 22 min read
Integrating Apache Shiro with Spring Boot for Authentication and Authorization
Selected Java Interview Questions
Selected Java Interview Questions
Aug 3, 2020 · Backend Development

Understanding Spring Boot’s Auto‑Configuration and “Convention over Configuration” Principles

This article explains how Spring Boot simplifies Java application development by providing out‑of‑the‑box starters, automatic configuration via spring.factories, and convention‑over‑configuration rules, covering the underlying annotations, Maven structure, starter dependencies, main class, and the use of @ConfigurationProperties to bind YAML settings.

Backend DevelopmentConvention over ConfigurationJava
0 likes · 25 min read
Understanding Spring Boot’s Auto‑Configuration and “Convention over Configuration” Principles
Java Captain
Java Captain
Aug 2, 2020 · Artificial Intelligence

Java Spring Boot License Plate Recognition and Training System (Open‑Source)

This article introduces an open‑source Java Spring Boot project that implements a license‑plate detection and recognition system with training capabilities, detailing its features, architecture, supported plate types, software requirements, processing steps, installation guide, and reference resources.

JavaOpenCVSpring Boot
0 likes · 8 min read
Java Spring Boot License Plate Recognition and Training System (Open‑Source)
Architects Research Society
Architects Research Society
Jul 31, 2020 · Backend Development

Building a Real‑time STOMP WebSocket Messaging Application with Spring Boot

This guide walks you through creating a Spring Boot application that uses WebSocket and STOMP to exchange JSON messages between a browser client and a server, covering project setup, dependencies, Java POJOs, controller logic, WebSocket configuration, client‑side JavaScript, and how to build and run the executable JAR.

JavaSpring Bootreal-time messaging
0 likes · 21 min read
Building a Real‑time STOMP WebSocket Messaging Application with Spring Boot
Programmer DD
Programmer DD
Jul 31, 2020 · Backend Development

Unveiling the Inner Workings of @EnableAutoConfiguration in Spring Boot

This article dissects the processing flow of Spring Boot's @EnableAutoConfiguration annotation, revealing how AutoConfigurationImportSelector and DeferredImportSelector collaborate to load, filter, and order auto‑configuration classes based on metadata, conditions, and explicit exclusions.

@EnableAutoConfigurationAutoConfigurationImportSelectorDeferredImportSelector
0 likes · 12 min read
Unveiling the Inner Workings of @EnableAutoConfiguration in Spring Boot
Senior Brother's Insights
Senior Brother's Insights
Jul 30, 2020 · Backend Development

Integrate FastDFS with Spring Boot for File Upload, Download, and Management

This tutorial shows how to integrate the FastDFS distributed file system into a Spring Boot application, covering Maven dependencies, configuration files, utility classes, core client initialization, and controller code for uploading, downloading, retrieving, and deleting files, with complete code examples and a GitHub source link.

FastDFSJavaSpring Boot
0 likes · 9 min read
Integrate FastDFS with Spring Boot for File Upload, Download, and Management
Top Architect
Top Architect
Jul 29, 2020 · Backend Development

Investigation of Excessive Off‑Heap Memory Usage After Migrating a Spring Boot Project to the MDP Framework

The article details a step‑by‑step forensic analysis of why a Spring Boot application migrated to the MDP framework consumed far more physical memory than its configured 4 GB heap, uncovering off‑heap allocations caused by native code, package‑scanning, and glibc memory‑pool behavior, and explains how limiting scan paths or upgrading Spring Boot resolves the issue.

JVMMemory DebuggingNative Memory
0 likes · 12 min read
Investigation of Excessive Off‑Heap Memory Usage After Migrating a Spring Boot Project to the MDP Framework
Programmer DD
Programmer DD
Jul 28, 2020 · Information Security

Step‑by‑Step Guide to Implement SMS Captcha Login with Spring Security

This tutorial walks you through building a complete SMS‑based captcha authentication flow in Spring Security, covering cache lifecycle, service implementation, custom authentication token, provider, filter, and configuration, and shows how to integrate it without affecting existing login methods.

SMS captchaSpring BootSpring Security
0 likes · 19 min read
Step‑by‑Step Guide to Implement SMS Captcha Login with Spring Security
Senior Brother's Insights
Senior Brother's Insights
Jul 26, 2020 · Backend Development

How Spring Boot Auto‑Configuration Works: Deep Dive into @EnableAutoConfiguration

This article explains Spring Boot's auto‑configuration mechanism, detailing the roles of starters, spring.factories, @EnableAutoConfiguration, related annotations, and the AutoConfigurationImportSelector, while showing source code examples and how to customize or disable specific auto‑configurations.

Backend DevelopmentJavaSpring Boot
0 likes · 12 min read
How Spring Boot Auto‑Configuration Works: Deep Dive into @EnableAutoConfiguration
Java Architecture Diary
Java Architecture Diary
Jul 25, 2020 · Backend Development

What’s New in Spring Boot 2.3.2? 88 Fixes, New Features & Upgrade Guide

Spring Boot 2.3.2, now available via repo.spring.io and Maven Central, introduces 88 bug fixes, enhanced health monitoring, configurable Docker image builds, reactive Elasticsearch checks, and resolves critical issues like reactor‑netty file descriptor limits and Redis Cluster health checks, urging users of 2.3.1 or 2.2.8 to upgrade.

DockerJavaSpring Boot
0 likes · 3 min read
What’s New in Spring Boot 2.3.2? 88 Fixes, New Features & Upgrade Guide
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jul 21, 2020 · Backend Development

Preventing Duplicate Submissions in Java: Front‑end and Back‑end Solutions with HashMap, Fixed Array, DCL and LRUMap

This article explains how to prevent duplicate form submissions in a single‑node Java Spring Boot application by first simulating the user scenario, then showing front‑end button disabling, and finally presenting five back‑end idempotency implementations ranging from a simple HashMap to a reusable LRUMap‑based utility.

JavaLRUMapSpring Boot
0 likes · 17 min read
Preventing Duplicate Submissions in Java: Front‑end and Back‑end Solutions with HashMap, Fixed Array, DCL and LRUMap
Java Captain
Java Captain
Jul 20, 2020 · Information Security

Integrating Apache Shiro with Spring Boot: Configuration, Session Management, and Permission Control

This guide demonstrates how to integrate the lightweight Apache Shiro security framework into a Spring Boot application, covering environment setup, Maven dependencies, Redis-backed session and cache configuration, utility classes, core Shiro components, annotation‑based permission control, and Postman testing for token handling and dynamic permission updates.

JavaRedisShiro
0 likes · 21 min read
Integrating Apache Shiro with Spring Boot: Configuration, Session Management, and Permission Control
macrozheng
macrozheng
Jul 20, 2020 · Backend Development

How to Prevent Duplicate Submissions in Java: Simple Backend Solutions

This article explores practical methods to prevent duplicate submissions in Java applications, starting with a simple front‑end button disabling technique and progressing through several backend strategies—including HashMap, fixed‑size array, double‑checked locking, and Apache Commons LRUMap—complete with code samples and performance considerations.

IdempotencyJavaLRUMap
0 likes · 17 min read
How to Prevent Duplicate Submissions in Java: Simple Backend Solutions
Programmer DD
Programmer DD
Jul 20, 2020 · Backend Development

Master Spring Cloud Gateway: Build High‑Performance API Gateways Quickly

This article introduces Spring Cloud Gateway, explains its core concepts such as routes, predicates, and filters, demonstrates how to quickly set up a gateway with both Java‑based and configuration‑based routing, and shows how to create custom global and route‑specific filters for advanced request handling.

JavaSpring BootSpring Cloud Gateway
0 likes · 13 min read
Master Spring Cloud Gateway: Build High‑Performance API Gateways Quickly
macrozheng
macrozheng
Jul 18, 2020 · Backend Development

Why You Should Stop Learning JSP: Modern Java Web Development Insights

The article argues that, unless required for legacy projects, learning JSP is unnecessary today because modern frontend frameworks, Spring's shift away from JSP, and microservice architectures all render JSP obsolete for contemporary Java web development.

JSPJavaSpring Boot
0 likes · 14 min read
Why You Should Stop Learning JSP: Modern Java Web Development Insights
Programmer DD
Programmer DD
Jul 18, 2020 · Backend Development

How to Build an EhCache Cluster for Spring Boot: A Step‑by‑Step Guide

This tutorial explains how to configure EhCache for distributed caching in a Spring Boot application, covering serialization, XML cluster settings, deployment parameters, REST endpoints for testing, and strategies to keep cache data consistent across multiple JVM instances.

Cache ClusteringDistributed CacheEhcache
0 likes · 9 min read
How to Build an EhCache Cluster for Spring Boot: A Step‑by‑Step Guide
Programmer DD
Programmer DD
Jul 17, 2020 · Backend Development

SpringFox 3.0.0 Quick Guide: Swagger Integration for Spring Boot

This article introduces SpringFox 3.0.0, highlights its new features such as Spring 5 WebFlux support, OpenAPI 3 compatibility, and zero‑configuration starter, then provides a step‑by‑step guide with Maven dependencies, annotations, controller examples, and notes on updated Swagger UI endpoints.

API documentationJavaOpenAPI
0 likes · 7 min read
SpringFox 3.0.0 Quick Guide: Swagger Integration for Spring Boot
Programmer DD
Programmer DD
Jul 16, 2020 · Backend Development

How to Integrate EhCache into Spring Boot for Faster Data Access

This article explains how Spring Boot automatically detects cache providers, shows how to replace the default ConcurrentHashMap with EhCache by adding the dependency, configuring ehcache.xml, and verifying the CacheManager type through unit tests, providing complete code examples and step‑by‑step instructions.

Backend DevelopmentCacheManagerCaching
0 likes · 7 min read
How to Integrate EhCache into Spring Boot for Faster Data Access
Java Architecture Diary
Java Architecture Diary
Jul 15, 2020 · Cloud Computing

Unify Object Storage via S3 Protocol for Multi-Cloud and MinIO

This guide explains the background of object storage services, shows SDK upload examples for Alibaba Cloud, Huawei Cloud, and Qiniu, introduces the Amazon S3 protocol as a universal solution, lists compatible Chinese cloud providers, and demonstrates how to configure and use a Spring Boot OSS starter—including support for self‑hosted MinIO—by setting appropriate parameters and invoking OssTemplate.

MinioObject StorageS3 protocol
0 likes · 6 min read
Unify Object Storage via S3 Protocol for Multi-Cloud and MinIO
Top Architect
Top Architect
Jul 15, 2020 · Backend Development

Graceful Shutdown in Spring Boot 2.3: Configuration, Usage, and Best Practices

This article explains how Spring Boot 2.3 provides built‑in graceful shutdown for embedded web servers, how to enable it with configuration, the role of the Shutdown enum and timeout settings, and additional techniques such as Actuator endpoints and signal handling to ensure safe application termination.

ActuatorBackend DevelopmentGraceful Shutdown
0 likes · 5 min read
Graceful Shutdown in Spring Boot 2.3: Configuration, Usage, and Best Practices
macrozheng
macrozheng
Jul 13, 2020 · Backend Development

Top 16 Spring Boot Best Practices for Robust Microservices

This article presents sixteen practical Spring Boot best‑practice recommendations—from using custom BOMs and auto‑configuration to structuring code, handling concurrency, externalizing configuration, and testing—aimed at building clean, maintainable, and production‑ready Java microservices.

Backend DevelopmentJavaSpring Boot
0 likes · 13 min read
Top 16 Spring Boot Best Practices for Robust Microservices
ITPUB
ITPUB
Jul 12, 2020 · Backend Development

Why Switch to Undertow in Spring Boot? Performance and Memory Gains Over Tomcat

This article explains how to replace Spring Boot's default embedded Tomcat with Undertow, compares their architectures, presents benchmark results showing Undertow's superior throughput and lower memory usage, and concludes that Undertow is the better choice for high‑concurrency Java web applications.

JavaSpring BootTomcat
0 likes · 6 min read
Why Switch to Undertow in Spring Boot? Performance and Memory Gains Over Tomcat
Programmer DD
Programmer DD
Jul 11, 2020 · Backend Development

How to Build a Reliable Email Service with RabbitMQ and Spring Boot

This article walks through creating a robust email‑sending system using Spring Boot and RabbitMQ, covering message confirmation, consumer idempotency, retry mechanisms, scheduled re‑delivery, and detailed code examples to ensure reliable delivery even under failure conditions.

EmailIdempotencyMessage Retry
0 likes · 16 min read
How to Build a Reliable Email Service with RabbitMQ and Spring Boot
Programmer DD
Programmer DD
Jul 10, 2020 · Backend Development

Mastering Spring Boot Transactions: From Basics to Advanced Settings

This article explains what database transactions are, demonstrates how to use Spring Boot’s @Transactional annotation with unit tests, and dives into transaction isolation levels and propagation behaviors, providing code examples and guidance for effective transaction management in Java backend applications.

DatabaseIsolation LevelJava
0 likes · 13 min read
Mastering Spring Boot Transactions: From Basics to Advanced Settings
Top Architect
Top Architect
Jul 8, 2020 · Information Security

kk-anti-reptile: Spring Boot Anti‑Crawler Component and Integration Guide

The article introduces kk-anti-reptile, a Spring Boot‑based anti‑crawler component that uses servlet filters, Redis, and configurable rule chains (IP and User‑Agent), explains its workflow, shows Maven and property configurations, and provides front‑end Axios interception code for handling 509 responses.

Backend DevelopmentInformation SecurityRedis
0 likes · 6 min read
kk-anti-reptile: Spring Boot Anti‑Crawler Component and Integration Guide
macrozheng
macrozheng
Jul 8, 2020 · Cloud Native

How to Shrink Docker Images with Spring Boot Layered Builds

This guide explains why Docker images become large, identifies the three main factors—base image size, Dockerfile layer count, and application JAR size—and demonstrates how to use Spring Boot's layered packaging and Dockerfile tricks to reduce image size from megabytes to a few kilobytes.

ContainerizationDockerImage Optimization
0 likes · 8 min read
How to Shrink Docker Images with Spring Boot Layered Builds
Senior Brother's Insights
Senior Brother's Insights
Jul 7, 2020 · Backend Development

How to Implement i18n Internationalization in Spring Boot APIs

This guide walks through adding Spring Boot i18n support, covering Maven dependencies, project structure, locale resolver and interceptor configuration, message file setup, a utility class, and a sample controller that returns localized responses based on a language query parameter.

Backend APILocaleChangeInterceptorLocaleResolver
0 likes · 6 min read
How to Implement i18n Internationalization in Spring Boot APIs
Java Backend Technology
Java Backend Technology
Jul 7, 2020 · Backend Development

Why My Spring Boot App Swallowed 7 GB RAM: Uncovering Native Memory Leaks

After migrating a project to the MDP framework based on Spring Boot, the author observed excessive swap usage and physical memory consumption of 7 GB despite a 4 GB heap limit, and through a series of JVM, system, and native‑code diagnostics identified Spring Boot’s ZipInflaterInputStream native‑memory leak caused by unchecked package scanning.

JVMMemory LeakNative Memory
0 likes · 12 min read
Why My Spring Boot App Swallowed 7 GB RAM: Uncovering Native Memory Leaks
Java Captain
Java Captain
Jul 5, 2020 · Backend Development

My Journey of Reading Source Code and Debugging Spring Boot with Quartz

The article recounts the author's evolution from avoiding source code to actively reading JDK, Spring, MyBatis, Shiro and Quartz implementations, explains why reading code matters for interviews and personal growth, and shares practical methods—including official docs, books, blogs, and IDE breakpoint debugging with concrete Spring Boot‑Quartz examples.

DebuggingJavaQuartz
0 likes · 13 min read
My Journey of Reading Source Code and Debugging Spring Boot with Quartz
Architecture Digest
Architecture Digest
Jul 5, 2020 · Backend Development

Diagnosing Excessive Off‑Heap Memory Usage in a Spring Boot Application

The article details a step‑by‑step investigation of why a Spring Boot service migrated to the MDP framework consumed far more physical memory than its 4 GB heap, revealing native‑code allocations, memory‑pool behavior of glibc and tcmalloc, and how limiting MCC scan paths or upgrading Spring Boot resolves the off‑heap leak.

JavaMemory LeakNative Memory
0 likes · 11 min read
Diagnosing Excessive Off‑Heap Memory Usage in a Spring Boot Application
Programmer DD
Programmer DD
Jul 5, 2020 · Backend Development

Why Did My Spring Boot Service Consume 7 GB? Uncovering Native Memory Leaks

The article details a step‑by‑step investigation of a Spring Boot application that unexpectedly used 7 GB of physical memory despite a 4 GB heap limit, revealing how native memory allocations, the Inflater class, and glibc memory pools caused off‑heap leaks and how proper configuration and library updates resolved the issue.

DebuggingJavaMemory Leak
0 likes · 13 min read
Why Did My Spring Boot Service Consume 7 GB? Uncovering Native Memory Leaks
macrozheng
macrozheng
Jul 1, 2020 · Backend Development

Why Spring Boot Switched from Maven to Gradle—and How It Boosts Build Speed

Spring Boot’s shift from Maven to Gradle, introduced in version 2.3.0.M1, dramatically cuts build times—from over an hour with Maven to under ten seconds on average with Gradle—by enabling incremental and parallel builds, while still supporting Maven for dependency management.

Build OptimizationGradleJava
0 likes · 5 min read
Why Spring Boot Switched from Maven to Gradle—and How It Boosts Build Speed
Architect's Tech Stack
Architect's Tech Stack
Jun 30, 2020 · Backend Development

Using Spring Boot Actuator and Spring Boot Admin for Application Monitoring

This article explains how to integrate Spring Boot Actuator for exposing health and metrics endpoints, configure security, disable specific endpoints, and visualize monitoring data using JConsole and Spring Boot Admin, including necessary Maven dependencies and code examples, while also noting a promotional interview‑question PDF resource.

ActuatorBackend DevelopmentJConsole
0 likes · 7 min read
Using Spring Boot Actuator and Spring Boot Admin for Application Monitoring
Top Architect
Top Architect
Jun 30, 2020 · Databases

Sharding-JDBC Demo: Implementing Database Sharding with Spring Boot

This article demonstrates how to set up Sharding-JDBC in a Spring Boot project, covering project structure, Maven configuration, entity, controller, service, mapper code, database DDL for multiple shards, sharding rules in application.properties, and API testing with Postman.

JavaMySQLSharding-JDBC
0 likes · 14 min read
Sharding-JDBC Demo: Implementing Database Sharding with Spring Boot
Top Architect
Top Architect
Jun 29, 2020 · Backend Development

Using RocketMQ for Traffic Shaping in Spring Boot: Configuration, Code Samples, and Performance Tuning

This article explains how to use RocketMQ for traffic‑shaping in a Spring Boot application, covering its core components, consumer pull configuration, integration via rocketmq‑spring‑boot‑starter, a practical like‑praise use case, a Maven setup, YAML configuration, and advanced topics such as dynamic scaling and batch consumption.

JavaMessage QueueRocketMQ
0 likes · 15 min read
Using RocketMQ for Traffic Shaping in Spring Boot: Configuration, Code Samples, and Performance Tuning
Java Backend Technology
Java Backend Technology
Jun 29, 2020 · Backend Development

Master Spring Initializr: From Basic Setup to Advanced Customization

This article explains how to use Spring Initializr and Alibaba's start.aliyun.com to generate Spring Boot projects, covering basic dependency setup, configuration of packagings, Java versions, languages, project types, advanced features like caching and demo code injection, and the underlying startup and generation phases of the framework.

CustomizationInitializrJava
0 likes · 22 min read
Master Spring Initializr: From Basic Setup to Advanced Customization
Architect's Alchemy Furnace
Architect's Alchemy Furnace
Jun 28, 2020 · Backend Development

Mastering Java Exception Handling and Global Error Management in Spring Boot

This article explains Java's throw‑catch mechanism, the three core principles of exception handling, and demonstrates how to design a custom exception hierarchy and a Spring Boot @ControllerAdvice‑based global handler to simplify error processing and improve code maintainability.

Backend DevelopmentException HandlingGlobal Error Handling
0 likes · 13 min read
Mastering Java Exception Handling and Global Error Management in Spring Boot
Top Architect
Top Architect
Jun 26, 2020 · Backend Development

Design and Implementation of a Transactional Message Module Using RabbitMQ and MySQL

This article explains a lightweight transactional message solution for microservices that leverages RabbitMQ, MySQL, and Spring Boot to achieve eventual consistency, detailing design principles, compensation mechanisms, table schemas, and deployment considerations for high‑throughput asynchronous processing.

CompensationDistributed SystemsMySQL
0 likes · 9 min read
Design and Implementation of a Transactional Message Module Using RabbitMQ and MySQL
Programmer DD
Programmer DD
Jun 26, 2020 · Backend Development

How to Configure Multiple Data Sources with MyBatis in Spring Boot

Learn step-by-step how to set up and test multiple data sources in a Spring Boot application using MyBatis, covering property configuration, DataSource beans, mapper scanning, entity definitions, and verification through unit tests with complete code examples and key configuration notes.

Database ConfigurationJavaMultiple Data Sources
0 likes · 11 min read
How to Configure Multiple Data Sources with MyBatis in Spring Boot
Programmer DD
Programmer DD
Jun 25, 2020 · Backend Development

How to Build a Low‑Intrusive Transactional Message System with Spring Boot and RabbitMQ

This article explains a lightweight, low‑intrusive transactional message solution for microservices using Spring Boot, RabbitMQ, and MySQL, covering design principles, table schemas, transaction synchronization, compensation mechanisms, code implementation, and deployment considerations to achieve eventual consistency without sacrificing performance.

Distributed SystemsMySQLRabbitMQ
0 likes · 24 min read
How to Build a Low‑Intrusive Transactional Message System with Spring Boot and RabbitMQ
Java Architecture Diary
Java Architecture Diary
Jun 23, 2020 · Backend Development

Fixing @RefreshScope Conflict with @ConditionalOnSingleCandidate in Spring Boot

In Spring Cloud projects, adding @RefreshScope to a custom RabbitMQ ConnectionFactory can clash with @ConditionalOnSingleCandidate, preventing RabbitTemplate from being auto‑wired; this article explains the root cause, demonstrates how to diagnose the issue, and provides a solution to avoid such bean conflicts.

@RefreshScopeBean InjectionConditionalOnSingleCandidate
0 likes · 5 min read
Fixing @RefreshScope Conflict with @ConditionalOnSingleCandidate in Spring Boot
Programmer DD
Programmer DD
Jun 23, 2020 · Information Security

How to Secure API Calls with Tokens, Timestamps, and Signatures in Spring Boot

This article explains practical methods for protecting API data exchange—including token usage, timestamp validation, signature generation, duplicate‑submission prevention, and ThreadLocal context—provides implementation details with Spring Boot, Redis, and Java code examples, and discusses related security considerations such as DoS attacks.

API SecurityJavaSpring Boot
0 likes · 26 min read
How to Secure API Calls with Tokens, Timestamps, and Signatures in Spring Boot
Top Architect
Top Architect
Jun 22, 2020 · Information Security

Implementing Token-Based Authentication, Anti‑DoS, and Repeat‑Submission Prevention in Spring Boot

This article explains how to design a secure token mechanism with timestamp validation, describes common DoS attack types, and provides practical Spring Boot code examples—including Redis configuration, token generation, interceptor logic, MD5 signing utilities, and ThreadLocal usage—to prevent repeat submissions and protect APIs.

DoS protectionJavaRedis
0 likes · 21 min read
Implementing Token-Based Authentication, Anti‑DoS, and Repeat‑Submission Prevention in Spring Boot
Programmer DD
Programmer DD
Jun 21, 2020 · Backend Development

Build a High‑Performance API Gateway with Soul 2.2.0 in 10 Minutes

This article introduces Soul 2.2.0’s fully plugin‑based architecture, walks through downloading and running soul‑admin, shows how to build a Spring Boot gateway with required dependencies and configuration, demonstrates hot‑swap plugins for Dubbo, circuit‑breaker and rate limiting, and highlights its key features and typical use cases.

JavaSpring Bootapi-gateway
0 likes · 13 min read
Build a High‑Performance API Gateway with Soul 2.2.0 in 10 Minutes