Tagged articles

spring

1810 articles · Page 9 of 19
Su San Talks Tech
Su San Talks Tech
Aug 17, 2023 · Backend Development

Ensuring API Idempotency with Spring, Redis, and Custom Annotations

This article explains the concept of idempotency, identifies which HTTP methods are naturally idempotent, and demonstrates a complete Java Spring solution—including custom annotations, AOP handling, token generation, and Redis storage—to guarantee safe retry and duplicate‑request protection.

AOPAnnotationBackend
0 likes · 11 min read
Ensuring API Idempotency with Spring, Redis, and Custom Annotations
Architecture Digest
Architecture Digest
Aug 16, 2023 · Backend Development

Implementing Retry Mechanisms in Java: Manual Loops, Static Proxy, JDK Dynamic Proxy, CGLib, AOP, Spring Retry and Guava‑Retry

This article explains why retry mechanisms are essential for remote service calls, compares several implementation approaches—including manual loops, static and dynamic proxies, AOP, Spring Retry annotations, and Guava‑Retry—provides complete Java code examples, and discusses the advantages and drawbacks of each method.

AOPCGLIBGuava
0 likes · 15 min read
Implementing Retry Mechanisms in Java: Manual Loops, Static Proxy, JDK Dynamic Proxy, CGLib, AOP, Spring Retry and Guava‑Retry
Architect
Architect
Aug 15, 2023 · Backend Development

Mastering Retry Strategies in Java: From Manual Loops to Spring Retry and Guava

This article walks through seven retry implementations for Java services—manual loops, static proxy, JDK dynamic proxy, CGLib proxy, custom AOP, Spring Retry annotations, and Guava‑retry—showing code examples, analyzing their pros and cons, and recommending the best fit for different project contexts.

AOPCGLIBGuava
0 likes · 18 min read
Mastering Retry Strategies in Java: From Manual Loops to Spring Retry and Guava
Selected Java Interview Questions
Selected Java Interview Questions
Aug 15, 2023 · Backend Development

Understanding Conditional Configuration and Profiles in Spring Framework

This article explains Spring's conditional configuration features—including @Profile, @Conditional, and various @ConditionalOn* annotations—showing how to dynamically register beans based on environment, classpath, properties, or other bean presence, with detailed code examples and usage guidelines.

Backend DevelopmentConditional ConfigurationDependency Injection
0 likes · 25 min read
Understanding Conditional Configuration and Profiles in Spring Framework
Architect's Guide
Architect's Guide
Aug 11, 2023 · Backend Development

Comprehensive Overview of Java Backend Architecture Topics

This article presents a detailed collection of 31 Java‑related architecture diagrams—including class loader, JVM, Spring, Hibernate, Struts, Android, cloud computing, Linux kernel, and various enterprise frameworks—providing a visual guide for backend developers seeking a broad understanding of Java ecosystem structures.

Javabackend-architecturejvm
0 likes · 6 min read
Comprehensive Overview of Java Backend Architecture Topics
Architect
Architect
Aug 9, 2023 · Backend Development

Dynamic Management of SpringBoot @Scheduled Tasks with SuperScheduled

This article explains how to enhance SpringBoot's native @Scheduled tasks with the spring-boot-starter-super-scheduled library, allowing dynamic creation, modification, and cancellation of scheduled jobs at runtime without altering existing annotations, and details the underlying implementation using BeanPostProcessor, CGLIB proxies, and a custom task manager.

AOPCGLIBDynamic Management
0 likes · 14 min read
Dynamic Management of SpringBoot @Scheduled Tasks with SuperScheduled
Java Architect Essentials
Java Architect Essentials
Aug 7, 2023 · Backend Development

Choosing Between @Autowired, @Resource, and @Qualifier for Service Injection in Spring

This article explains three ways to inject a specific service implementation in Spring—using @Qualifier with @Autowired, using @Resource with type or name attributes, and naming @Service beans—detailing their semantics, bean‑matching rules, and providing complete code examples for each approach.

Backend DevelopmentDependency InjectionJava
0 likes · 5 min read
Choosing Between @Autowired, @Resource, and @Qualifier for Service Injection in Spring
Architect
Architect
Aug 7, 2023 · Backend Development

How to Build a Clean Unified Exception Handling System in Spring Boot

This article walks through the problem of scattered try‑catch blocks in Java back‑ends, explains the use of Spring's @ControllerAdvice together with a custom Assert‑based validation and error‑code enum, and demonstrates a complete unified exception handling solution with production‑ready response formatting and extensive code examples.

BackendJavaUnified API
0 likes · 25 min read
How to Build a Clean Unified Exception Handling System in Spring Boot
Architecture Digest
Architecture Digest
Aug 4, 2023 · Backend Development

Unified Exception Handling in Spring: Using @ControllerAdvice, Assertions, and Enums for Clean Error Management

The article explains how to replace repetitive try‑catch blocks in Java Spring applications with a unified exception handling mechanism that leverages @ControllerAdvice, custom BaseException, Assert utilities, and enum‑based error codes to produce consistent, environment‑aware error responses.

BackendEnumsExceptionHandling
0 likes · 20 min read
Unified Exception Handling in Spring: Using @ControllerAdvice, Assertions, and Enums for Clean Error Management
JD Cloud Developers
JD Cloud Developers
Aug 3, 2023 · Backend Development

Mastering State Machines: From Theory to Spring and COLA Implementations

This article introduces the fundamentals of state machines, explains the four core concepts, explores domain‑specific languages (DSL) and their classifications, and provides practical Java examples using Spring Statemachine and the COLA framework, ending with a comparison and adoption guidance.

BackendCOLAJava
0 likes · 18 min read
Mastering State Machines: From Theory to Spring and COLA Implementations
Java Backend Technology
Java Backend Technology
Aug 3, 2023 · Backend Development

Eliminate Java Code Duplication with Design Patterns and Annotations

This article demonstrates how to reduce repetitive Java code in business applications by applying the Template Method and Factory design patterns, leveraging Spring’s IoC for dynamic cart selection, using custom annotations with reflection to serialize API parameters, and employing bean‑mapping utilities to automate DTO‑DO conversions, thereby improving maintainability and scalability.

JavaReflectionannotations
0 likes · 21 min read
Eliminate Java Code Duplication with Design Patterns and Annotations
Architect's Guide
Architect's Guide
Aug 3, 2023 · Backend Development

Robustdb: A Lightweight Client‑Side Read‑Write Splitting Solution for MySQL

This article introduces Robustdb, a compact Java library that implements client‑side read‑write splitting and method‑level routing for MySQL databases, explains its architecture, core code components, dynamic read‑pool allocation strategy, and performance comparison with Atlas, while providing practical implementation details and configuration guidance.

JavaRead‑Write Splittingdatabase routing
0 likes · 15 min read
Robustdb: A Lightweight Client‑Side Read‑Write Splitting Solution for MySQL
Architect
Architect
Aug 2, 2023 · Databases

Ensuring Consistency Between MySQL and Redis: Theory, Schemes, and Practical Implementation

This article reviews six theoretical approaches for maintaining MySQL‑Redis data consistency, evaluates their pros and cons, and presents a practical implementation using Java Spring, transactional updates, cache deletion, and asynchronous queue handling to achieve both real‑time and eventual consistency in high‑concurrency systems.

@TransactionalBackend DevelopmentJava
0 likes · 11 min read
Ensuring Consistency Between MySQL and Redis: Theory, Schemes, and Practical Implementation
JavaEdge
JavaEdge
Aug 1, 2023 · Backend Development

Explore IntelliJ IDEA 2023.2: New Profiling, Debugging, and Cloud Tools

IntelliJ IDEA 2023.2 introduces a suite of enhancements—including a Run‑window profiler, inline return breakpoints, automatic test reruns for Gradle/Maven/JPS, WSL‑based Tomcat debugging, TLS‑enabled gRPC requests, Swagger and OpenAPI support, shared index generation, and numerous UI and code‑completion upgrades—streamlining Java development workflows.

IntelliJ IDEAJavaProfiling
0 likes · 12 min read
Explore IntelliJ IDEA 2023.2: New Profiling, Debugging, and Cloud Tools
Shepherd Advanced Notes
Shepherd Advanced Notes
Jul 31, 2023 · Backend Development

How Spring Uses AOP to Implement Transaction Management

This article explains why transaction control is essential for database‑backed applications, compares native JDBC/MyBatis handling with Spring's unified approach, details the core transaction APIs, and walks through the AOP‑based mechanism—including @EnableTransactionManagement, proxy generation, and CGLIB interception—that automatically opens, commits, and rolls back transactions at runtime.

@TransactionalAOPBackend Development
0 likes · 20 min read
How Spring Uses AOP to Implement Transaction Management
Shepherd Advanced Notes
Shepherd Advanced Notes
Jul 24, 2023 · Backend Development

Understanding the Core Principles of Spring AOP Aspect Programming

This article explains how Spring AOP integrates AspectJ using CGLIB or JDK dynamic proxies, walks through a complete logging aspect example, and details the internal registration, proxy creation, and invocation processes that enable cross‑cutting concerns without modifying business code.

AOPAspectJCGLIB
0 likes · 15 min read
Understanding the Core Principles of Spring AOP Aspect Programming
Selected Java Interview Questions
Selected Java Interview Questions
Jul 21, 2023 · Backend Development

Using Lombok @RequiredArgsConstructor to Replace @Autowired and @Resource for Spring Dependency Injection

This article explains how Lombok's @RequiredArgsConstructor can replace multiple @Autowired and @Resource annotations by promoting constructor injection, compares field, constructor, and setter injection in Spring, and demonstrates the resulting cleaner code with practical examples.

Constructor InjectionDependency InjectionJava
0 likes · 6 min read
Using Lombok @RequiredArgsConstructor to Replace @Autowired and @Resource for Spring Dependency Injection
Code Ape Tech Column
Code Ape Tech Column
Jul 21, 2023 · Backend Development

Implementing Distributed WebSocket Messaging with Redis and Kafka in Spring

This article explains how to enable cross‑node WebSocket communication in a distributed Spring application by publishing messages to a Redis or Kafka topic, tracking user connections, and routing messages to the appropriate server instance, complete with full code examples and configuration details.

Backend DevelopmentDistributed MessagingKafka
0 likes · 16 min read
Implementing Distributed WebSocket Messaging with Redis and Kafka in Spring
Programmer DD
Programmer DD
Jul 18, 2023 · Backend Development

Explore the Best Spring I/O 2023 Talks: Must‑Watch Videos for Modern Java Developers

This article curates the most valuable Spring I/O 2023 video sessions—covering the latest Java version adaptations, Spring Framework and Boot innovations, cloud‑native deployments, security, observability, and architectural best practices—providing concise Chinese summaries so developers can quickly identify which talks merit deeper viewing.

Backend DevelopmentJavaMicroservices
0 likes · 24 min read
Explore the Best Spring I/O 2023 Talks: Must‑Watch Videos for Modern Java Developers
Code Ape Tech Column
Code Ape Tech Column
Jul 17, 2023 · Backend Development

Best Practices and Common Pitfalls When Using Java Thread Pools

This article summarizes the key pitfalls and recommended practices for creating, configuring, monitoring, and naming Java thread pools, including proper declaration, parameter tuning for CPU‑ and I/O‑bound workloads, avoiding OOM and deadlocks, and leveraging dynamic pool frameworks.

BestPracticesJavaPerformance
0 likes · 17 min read
Best Practices and Common Pitfalls When Using Java Thread Pools
Programmer DD
Programmer DD
Jul 17, 2023 · Backend Development

Master Spring 6.1 RestClient: Simple HTTP Calls, Error Handling, and Advanced Exchange

This article introduces Spring 6.1’s new synchronous RestClient, showing how to perform basic GET and POST requests, convert responses to objects, handle errors with onStatus, and use the advanced exchange method for custom request‑response processing, positioning RestClient as a modern replacement for RestTemplate.

Backend DevelopmentHTTPJava
0 likes · 6 min read
Master Spring 6.1 RestClient: Simple HTTP Calls, Error Handling, and Advanced Exchange
Su San Talks Tech
Su San Talks Tech
Jul 11, 2023 · Backend Development

Why MyBatis‑Plus’s saveBatch Triggers Unexpected Transaction Rollbacks and How to Fix It

The article explains why the error "Transaction rolled back because it has been marked as rollback‑only" occurs in a Java Spring service when using MyBatis‑Plus saveBatch, how hidden @Transactional annotations cause hidden nested transactions, and presents a practical workaround by replacing the batch operation with a custom mapper.

Backend DevelopmentJavaMyBatis-Plus
0 likes · 7 min read
Why MyBatis‑Plus’s saveBatch Triggers Unexpected Transaction Rollbacks and How to Fix It
Java High-Performance Architecture
Java High-Performance Architecture
Jul 9, 2023 · Backend Development

Master Spring Assert & Utility Classes: Essential Java Backend Tools

This article provides a comprehensive overview of Spring’s Assert utilities and a wide range of Spring Framework helper classes—including ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, StreamUtils, ReflectionUtils, and AOP utilities—detailing their purpose and key method signatures for Java backend development.

AOPJavaReflection
0 likes · 13 min read
Master Spring Assert & Utility Classes: Essential Java Backend Tools
Su San Talks Tech
Su San Talks Tech
Jul 2, 2023 · Fundamentals

Master Design Patterns: Chain, Template, Pub/Sub & Strategy in Java

This article explains the concepts, advantages, disadvantages, and real-world use cases of four essential design patterns—Chain of Responsibility, Template Method, Publish‑Subscribe, and Strategy—providing detailed Java and Spring code examples to help developers apply them effectively.

Design PatternsJavaSoftware Architecture
0 likes · 41 min read
Master Design Patterns: Chain, Template, Pub/Sub & Strategy in Java
Selected Java Interview Questions
Selected Java Interview Questions
Jun 30, 2023 · Backend Development

Implementing Rate Limiting in Java with Guava, Custom Annotations, and Redis Lua Scripts

This article explains how to protect high‑concurrency Java applications using rate‑limiting techniques, covering basic algorithms such as counter, leaky‑bucket and token‑bucket, demonstrating a single‑node implementation with Guava’s RateLimiter and custom annotations, and showing a distributed solution based on Redis and Lua scripts.

GuavaJavaRedis
0 likes · 15 min read
Implementing Rate Limiting in Java with Guava, Custom Annotations, and Redis Lua Scripts
Code Ape Tech Column
Code Ape Tech Column
Jun 30, 2023 · Backend Development

Applying the Service Locator Pattern to Decouple File Parsers in Spring

This article demonstrates how to replace tightly‑coupled if‑else or switch‑case parser selection with the Service Locator Pattern in a Spring Java application, enabling easy addition of new file‑type parsers without modifying client code and adhering to the open‑closed principle.

Dependency InjectionJavaParser
0 likes · 8 min read
Applying the Service Locator Pattern to Decouple File Parsers in Spring
Programmer DD
Programmer DD
Jun 27, 2023 · Backend Development

When to Choose @Autowired vs @Resource in Spring? A Deep Dive

This article compares Spring's @Autowired and JDK's @Resource annotations, detailing their injection mechanisms, parameter differences, default behaviors, and usage scopes with code examples, while also offering interview advice and promoting a Java interview guide.

AutowiredDependency InjectionJava
0 likes · 21 min read
When to Choose @Autowired vs @Resource in Spring? A Deep Dive
Selected Java Interview Questions
Selected Java Interview Questions
Jun 25, 2023 · Backend Development

Ensuring Transaction Consistency in Multi‑threaded Spring Applications Using Programmatic Transactions

This article explains how to execute two dependent tasks in parallel with CompletableFuture, why the usual @Transactional annotation fails in a multi‑threaded environment, and provides a programmatic transaction solution that copies Spring's transaction resources between threads to guarantee atomic commit or rollback across all parallel operations.

Backend DevelopmentCompletableFutureProgrammatic Transaction
0 likes · 19 min read
Ensuring Transaction Consistency in Multi‑threaded Spring Applications Using Programmatic Transactions
Architect
Architect
Jun 22, 2023 · Backend Development

Understanding Spring’s Core Concepts: IoC, DI, AOP and Bean Management

The article explains how Spring’s IoC container, dependency injection, singleton beans, and AOP simplify Java backend development by abstracting object creation, configuration, and cross‑cutting concerns, illustrated with code examples and practical scenarios such as conditional bean loading and Redis client selection.

AOPBackend DevelopmentIOC
0 likes · 12 min read
Understanding Spring’s Core Concepts: IoC, DI, AOP and Bean Management
21CTO
21CTO
Jun 20, 2023 · Backend Development

Mastering Spring State Machine: Build Robust Order Workflows with Persistence

This article introduces the fundamentals of finite state machines, explains their four core concepts, demonstrates how to model order workflows with state diagrams, and provides a comprehensive guide to implementing, configuring, persisting, and testing Spring Statemachine in a Java backend, including solutions for exception handling and AOP enhancements.

AOPPersistenceState Machine
0 likes · 23 min read
Mastering Spring State Machine: Build Robust Order Workflows with Persistence
Top Architect
Top Architect
Jun 20, 2023 · Backend Development

Eight Ways to Implement Asynchronous Programming in Java

This article introduces eight practical approaches for achieving asynchronous execution in Java—including raw threads, Future, CompletableFuture, Spring @Async, ApplicationEvent, message queues, Hutool ThreadUtil, and Guava ListenableFuture—providing code samples, configuration tips, and discussion of each method's advantages and drawbacks.

BackendCompletableFutureFuture
0 likes · 14 min read
Eight Ways to Implement Asynchronous Programming in Java
Selected Java Interview Questions
Selected Java Interview Questions
Jun 15, 2023 · Backend Development

How Spring IOC Reduces Coupling: From Direct Instantiation to Interfaces, Factory Method, and Reflection

This article explains the concept of coupling, demonstrates how traditional object creation leads to high coupling, and shows how using interfaces, the factory pattern, and reflection—culminating in Spring IOC—can dramatically lower coupling, improve reuse, and simplify maintenance in Java backend development.

Backend DevelopmentCouplingDependency Injection
0 likes · 8 min read
How Spring IOC Reduces Coupling: From Direct Instantiation to Interfaces, Factory Method, and Reflection
Programmer DD
Programmer DD
Jun 14, 2023 · Backend Development

Mastering Spring Property Injection: From XML to SpEL

This article provides a comprehensive guide to Spring's property injection techniques, covering setter and constructor injection using both XML and Java annotations, external configuration with @PropertySource, and advanced SpEL expressions, complete with runnable code examples and output screenshots.

Dependency InjectionJavaSpEL
0 likes · 27 min read
Mastering Spring Property Injection: From XML to SpEL
Efficient Ops
Efficient Ops
Jun 13, 2023 · Operations

How to Automate Batch Job Retries and Eliminate Midnight Outages

This article explores a real‑world scenario where a support manager faces nightly batch job interruptions, analyzes common database and environment failures, and presents a systematic redesign of the batch framework and executor to enable automatic retry, reducing manual intervention and improving operational reliability.

MySQLbatch processingexception handling
0 likes · 7 min read
How to Automate Batch Job Retries and Eliminate Midnight Outages
Shepherd Advanced Notes
Shepherd Advanced Notes
Jun 12, 2023 · Backend Development

How Spring Solves Circular Bean Dependencies with a Three‑Level Cache

The article explains Spring's three‑level cache mechanism for resolving singleton circular bean dependencies, walks through bean lifecycle stages, compares field, setter and constructor injection, shows configuration to enable circular references, and details the internal code paths that expose early bean references.

Bean LifecycleDependency InjectionSingleton
0 likes · 17 min read
How Spring Solves Circular Bean Dependencies with a Three‑Level Cache
Cognitive Technology Team
Cognitive Technology Team
Jun 11, 2023 · Backend Development

Unified Handling of ThreadLocal Issues in Java Projects

This article explains why ThreadLocal can cause information loss, corruption, or OOM in Java applications and presents two practical approaches—Java agent bytecode manipulation and proxy‑based thread‑pool wrappers—along with concrete Spring Sleuth implementations and testing results to ensure safe propagation and cleanup.

AOPJavaThreadLocal
0 likes · 5 min read
Unified Handling of ThreadLocal Issues in Java Projects
Architecture Digest
Architecture Digest
Jun 7, 2023 · Backend Development

Why IntelliJ IDEA Warns on @Autowired Field Injection but Not on @Resource

The article explains the differences between Spring's @Autowired and @Resource annotations, outlines the pros and cons of various dependency injection methods, and clarifies why IntelliJ IDEA issues a warning for field injection with @Autowired while treating @Resource as acceptable, emphasizing portability and coupling concerns.

AutowiredDependency InjectionIDEA
0 likes · 5 min read
Why IntelliJ IDEA Warns on @Autowired Field Injection but Not on @Resource
Architecture Digest
Architecture Digest
Jun 3, 2023 · Backend Development

PowerJob: A Next‑Generation Distributed Task Scheduling and Computing Framework – Features, Comparison, and Quick‑Start Guide

PowerJob is a modern distributed job scheduling framework that addresses the limitations of Quartz, XXL‑Job and SchedulerX by offering a web UI, rich scheduling strategies, DAG workflow support, lock‑free high‑performance scheduling, multiple processor types and step‑by‑step quick‑start instructions for developers.

Distributed SchedulingJavaMapReduce
0 likes · 10 min read
PowerJob: A Next‑Generation Distributed Task Scheduling and Computing Framework – Features, Comparison, and Quick‑Start Guide
Programmer DD
Programmer DD
May 31, 2023 · Backend Development

8 Powerful Ways to Implement Asynchronous Execution in Java

This article explains what asynchronous execution is, compares it with synchronous processing, and presents eight practical Java implementations—including raw threads, Future, CompletableFuture, Spring @Async, ApplicationEvent, message queues, Hutool ThreadUtil, and Guava ListenableFuture—complete with code samples and usage tips.

CompletableFutureFutureasynchronous
0 likes · 14 min read
8 Powerful Ways to Implement Asynchronous Execution in Java
Selected Java Interview Questions
Selected Java Interview Questions
May 23, 2023 · Backend Development

Understanding Finite State Machines and Implementing Spring Statemachine for Order Processing

This article explains the fundamentals of finite state machines, introduces the four core concepts of state, event, action, and transition, and demonstrates how to model and persist order workflows using Spring Statemachine with Java code examples, database schema, and AOP-based error handling.

JavaPersistenceState Machine
0 likes · 24 min read
Understanding Finite State Machines and Implementing Spring Statemachine for Order Processing
Cognitive Technology Team
Cognitive Technology Team
May 21, 2023 · Backend Development

Concurrency Safety Issues Caused by AOP Object Escape and Incorrect Advice Order in Spring

This article explains how improper use of AOP in Spring can cause object escape leading to concurrency safety problems, discusses issues such as asynchronous thread modifications, caching, and incorrect advice ordering with @Transaction, @Retryable, and dynamic datasource switching, and provides practical guidance to avoid these pitfalls.

AOPJavaObject Escape
0 likes · 5 min read
Concurrency Safety Issues Caused by AOP Object Escape and Incorrect Advice Order in Spring
政采云技术
政采云技术
May 18, 2023 · Backend Development

Understanding Spring Retry: A Comprehensive Guide to Retry, Backoff, and Circuit Breaker Mechanisms

This article explains the concept of retry in distributed systems, introduces Spring Retry and its annotations, demonstrates Maven dependencies, configuration, various retry policies, backoff strategies, circuit breaker support, and walks through the core implementation details with practical code examples.

BackoffCircuitBreakerJava
0 likes · 20 min read
Understanding Spring Retry: A Comprehensive Guide to Retry, Backoff, and Circuit Breaker Mechanisms
Code Ape Tech Column
Code Ape Tech Column
May 16, 2023 · Backend Development

Practical Guide to Spring StateMachine: Concepts, Implementation, and Persistence

This article introduces the fundamentals of finite‑state machines, explains the four core concepts of state, event, action and transition, and provides a step‑by‑step Spring Statemachine implementation with database schema, enum definitions, configuration, persistence options, testing, common pitfalls and an AOP‑based solution for reliable transaction handling.

AOPBackendJava
0 likes · 27 min read
Practical Guide to Spring StateMachine: Concepts, Implementation, and Persistence
Top Architect
Top Architect
May 12, 2023 · Backend Development

Dynamic DataSource Switching and Multi‑Database Transaction Management in Spring

This article explains how to dynamically manage and switch multiple Spring data sources, compares configuration‑file and database‑table approaches, introduces custom DataSource management interfaces, and presents a comprehensive solution for handling multi‑database transactions with custom annotations and AOP.

DataSourceDynamicRoutingJava
0 likes · 14 min read
Dynamic DataSource Switching and Multi‑Database Transaction Management in Spring
Architect's Guide
Architect's Guide
May 12, 2023 · Backend Development

Eight Ways to Implement Asynchronous Programming in Java

This article introduces the concept of asynchronous execution and presents eight practical Java implementations—including Thread, Future, CompletableFuture, Spring @Async, ApplicationEvent, message queues, ThreadUtil, and Guava ListenableFuture—along with code examples and usage tips for each method.

CompletableFutureFutureJava
0 likes · 12 min read
Eight Ways to Implement Asynchronous Programming in Java
Top Architect
Top Architect
May 10, 2023 · Backend Development

Implementing a Custom @Autowired-like Annotation in Spring

This article demonstrates how to create a simple custom annotation that mimics Spring's @Autowired functionality by defining a new annotation, a BeanPostProcessor, configuring beans in XML, and wiring everything together in a test class to show the injection working at runtime.

BackendBeanPostProcessorDependency Injection
0 likes · 8 min read
Implementing a Custom @Autowired-like Annotation in Spring
Alibaba Cloud Developer
Alibaba Cloud Developer
May 6, 2023 · Backend Development

Why Spring Throws Circular Dependency Errors and How to Fix Them

This article explains the causes of Spring circular dependency exceptions, details how Spring's three‑level cache and AOP proxy mechanisms contribute to the problem, and provides practical solutions such as using @Lazy, refactoring code, and ensuring a single AutoProxyCreator to prevent bean creation failures.

AOPBean Creationcircular dependency
0 likes · 22 min read
Why Spring Throws Circular Dependency Errors and How to Fix Them
Top Architect
Top Architect
May 5, 2023 · Backend Development

How to Register Beans in the Spring Container: Five Common Methods

This article explains five ways to add a bean to the Spring IoC container—including @Configuration + @Bean, @Component + @ComponentScan, various @Import techniques, FactoryBean, and BeanDefinitionRegistryPostProcessor—provides complete code examples for each, and concludes with a summary and related promotional notes.

Backend DevelopmentBeanDependency Injection
0 likes · 12 min read
How to Register Beans in the Spring Container: Five Common Methods
Top Architect
Top Architect
Apr 27, 2023 · Backend Development

Understanding Spring Transaction Propagation, Rollback, and @Transactional Usage

This article explains Spring's transaction propagation options, rollback mechanisms, the limitations of self‑invocation within @Transactional methods, and how to correctly use AOP proxies such as AopContext.currentProxy() and @EnableAspectJAutoProxy to ensure transactional behavior in Java backend applications.

@TransactionalBackendJava
0 likes · 10 min read
Understanding Spring Transaction Propagation, Rollback, and @Transactional Usage
Java Backend Technology
Java Backend Technology
Apr 26, 2023 · Backend Development

Refactor Spring Controllers for Unified Responses and Robust Validation

This article explains how to redesign Spring MVC controllers by introducing a unified Result wrapper, using ResponseBodyAdvice for automatic response packaging, applying JSR‑303 validation on DTOs and method parameters, and handling custom exceptions globally to produce consistent API outputs.

ControllerJavaResponseBodyAdvice
0 likes · 17 min read
Refactor Spring Controllers for Unified Responses and Robust Validation
macrozheng
macrozheng
Apr 25, 2023 · Backend Development

Refactor Spring Controllers for Unified Responses and Robust Validation

This article explains why traditional Spring MVC Controllers become cumbersome, demonstrates how to unify response structures with a Result wrapper, leverages ResponseBodyAdvice for automatic packaging, resolves String conversion issues, and shows best‑practice parameter validation using JSR‑303, custom validators, and global exception handling to keep controller code clean and maintainable.

ControllerJavaResponseBodyAdvice
0 likes · 20 min read
Refactor Spring Controllers for Unified Responses and Robust Validation
Code Ape Tech Column
Code Ape Tech Column
Apr 25, 2023 · Backend Development

Advanced Java Multithreading: From Fundamentals to High‑Performance Transactional Scenarios

This article explores Java multithreading concepts, JVM safety tools, thread creation methods, coordination mechanisms, and practical scenarios such as parallel data aggregation, for‑loop conversion, map‑based processing, and multi‑threaded transaction handling, providing code examples and performance tips for backend developers.

CompletableFutureJavaTransaction
0 likes · 22 min read
Advanced Java Multithreading: From Fundamentals to High‑Performance Transactional Scenarios
Su San Talks Tech
Su San Talks Tech
Apr 25, 2023 · Backend Development

Unlocking Spring’s Design Patterns: From Proxy to Adapter Explained

This article explores how Spring implements classic design patterns—Proxy, Strategy, Decorator, Singleton, Simple Factory, Factory Method, Observer, Template, and Adapter—detailing their purpose, core code snippets, and the way Spring leverages them to provide flexible, extensible, and maintainable backend functionality.

AOPBackendDependency Injection
0 likes · 13 min read
Unlocking Spring’s Design Patterns: From Proxy to Adapter Explained
IT Xianyu
IT Xianyu
Apr 24, 2023 · Backend Development

Improving Spring Controller Layer: Unified Response Structure, Validation, and Exception Handling

This article explains how to refactor a Spring MVC Controller by introducing a unified response wrapper, leveraging ResponseBodyAdvice for automatic packaging, applying JSR‑303 validation for @RequestBody, @PathVariable and @RequestParam parameters, creating custom validation annotations, and handling business and system exceptions consistently.

ControllerJavaValidation
0 likes · 15 min read
Improving Spring Controller Layer: Unified Response Structure, Validation, and Exception Handling
Top Architect
Top Architect
Apr 24, 2023 · Backend Development

Understanding the Spring Bean Lifecycle and Its Core Stages

This article explains the complete lifecycle of a Spring bean—including creation, merged BeanDefinition processing, factory exposure, property population, initialization, and destruction—while illustrating the underlying source‑code mechanisms and how Spring resolves constructors, handles circular dependencies, and integrates AOP and post‑processors.

BackendBean LifecycleDependency Injection
0 likes · 16 min read
Understanding the Spring Bean Lifecycle and Its Core Stages
Su San Talks Tech
Su San Talks Tech
Apr 24, 2023 · Backend Development

Mastering Spring @EventListener: From Demo to Deep Debugging

This article walks through building a Spring @EventListener demo, explains how to decouple registration logic, shows step‑by‑step debugging of the event‑listener infrastructure, and explores the internal mechanisms that register and invoke listeners during application startup and runtime.

ApplicationEventBackendJava
0 likes · 14 min read
Mastering Spring @EventListener: From Demo to Deep Debugging
Java Architect Essentials
Java Architect Essentials
Apr 23, 2023 · Backend Development

Comprehensive Guide to Spring Validation: Simple to Advanced Usage and Implementation Principles

This article provides a detailed tutorial on Spring Validation, covering basic dependency setup, requestBody and requestParam/PathVariable validation, advanced techniques such as group, nested, collection and custom validation, programmatic validation, fail‑fast mode, the difference between @Valid and @Validated, and the underlying implementation mechanisms within Spring MVC.

APIHibernate ValidatorSpring Boot
0 likes · 18 min read
Comprehensive Guide to Spring Validation: Simple to Advanced Usage and Implementation Principles
Selected Java Interview Questions
Selected Java Interview Questions
Apr 23, 2023 · Backend Development

Implementing Interface Rate Limiting with Spring Interceptor and Redis (Demo)

This article demonstrates a step‑by‑step implementation of API request throttling in a Spring backend using an Interceptor and Redis, covering the underlying principle, configurable limits, custom annotations, reflection‑based flexibility, and practical considerations such as path parameters and real‑IP handling.

AnnotationJavaRedis
0 likes · 16 min read
Implementing Interface Rate Limiting with Spring Interceptor and Redis (Demo)
IT Xianyu
IT Xianyu
Apr 19, 2023 · Databases

Robustdb: A Lightweight Read‑Write Splitting Solution for Java Applications

This article introduces Robustdb, a compact open‑source read‑write separation framework built with about ten classes and two thousand lines of code, explains its architecture, routing logic, method‑level transaction handling, dynamic data‑source management, and performance advantages over existing solutions like Atlas.

DataSourceJavaPerformance
0 likes · 15 min read
Robustdb: A Lightweight Read‑Write Splitting Solution for Java Applications
Shepherd Advanced Notes
Shepherd Advanced Notes
Apr 19, 2023 · Backend Development

Spring Extension Point (Part 1): Understanding PostProcessor Mechanisms

This article explains Spring's core post‑processor extension points—BeanDefinitionRegistryPostProcessor, BeanFactoryPostProcessor, and BeanPostProcessor—detailing their purpose, execution order, concrete code examples, and how they fit into the bean lifecycle, including advanced interfaces like InstantiationAwareBeanPostProcessor.

Bean LifecycleDependency InjectionJava
0 likes · 14 min read
Spring Extension Point (Part 1): Understanding PostProcessor Mechanisms
Selected Java Interview Questions
Selected Java Interview Questions
Apr 18, 2023 · Backend Development

Understanding the Spring Bean Lifecycle: Creation, Initialization, Usage, and Destruction

This article explains the complete Spring bean lifecycle—including creation, property filling, initialization, usage, and destruction—detailing how Spring manages object creation, dependency injection, AOP proxy generation, and lifecycle callbacks through various internal phases and extension points.

AOPBean LifecycleDependency Injection
0 likes · 15 min read
Understanding the Spring Bean Lifecycle: Creation, Initialization, Usage, and Destruction
Top Architect
Top Architect
Apr 17, 2023 · Backend Development

Designing a Unified API Response Structure with Custom Annotations and Interceptors

This article explains how to build a clean, maintainable backend API response format by defining a standard JSON wrapper, categorizing status codes, using a Result class with static helpers, and automatically applying the wrapper through a custom @ResponseResult annotation, interceptor, and ResponseBodyAdvice in a Spring‑based service.

APIBackendJava
0 likes · 8 min read
Designing a Unified API Response Structure with Custom Annotations and Interceptors
Java High-Performance Architecture
Java High-Performance Architecture
Apr 17, 2023 · Backend Development

Master Dynamic Multi‑DataSource Switching and Transaction Management in Spring

This article explains how to dynamically manage multiple Spring data sources, switch between them at runtime, and implement custom multi‑database transaction handling, covering both configuration‑file and database‑table approaches, with code examples and AOP techniques for seamless integration.

DataSourceDynamic RoutingTransaction
0 likes · 16 min read
Master Dynamic Multi‑DataSource Switching and Transaction Management in Spring
Selected Java Interview Questions
Selected Java Interview Questions
Apr 14, 2023 · Backend Development

Improving Spring Controller Layer: Unified Response Structure, Validation, and Exception Handling

This article explains how to refactor a Spring MVC Controller layer by defining its responsibilities, introducing a unified response format, using ResponseBodyAdvice for automatic wrapping, applying JSR‑303 validation for request parameters, and implementing custom exceptions with centralized handling to achieve cleaner, more maintainable backend code.

ControllerExceptionHandlingResponseBodyAdvice
0 likes · 17 min read
Improving Spring Controller Layer: Unified Response Structure, Validation, and Exception Handling
Selected Java Interview Questions
Selected Java Interview Questions
Apr 13, 2023 · Backend Development

Analysis of Spring Bean Instantiation Strategies in AbstractAutowireCapableBeanFactory

This article dissects the core bean creation logic of Spring's AbstractAutowireCapableBeanFactory, detailing how createBeanInstance delegates to obtainFromSupplier, instantiateUsingFactoryMethod, autowireConstructor, and fallback default constructors, while explaining the role of Supplier, ConstructorResolver, argument resolution, and caching mechanisms.

BeanFactoryConstructor InjectionDependency Injection
0 likes · 34 min read
Analysis of Spring Bean Instantiation Strategies in AbstractAutowireCapableBeanFactory
Java Backend Technology
Java Backend Technology
Apr 13, 2023 · Backend Development

Mastering Unified Exception Handling in Spring Boot: Clean Code, Better Errors

This article explains how to replace scattered try‑catch blocks in Java services with a clean, unified exception handling approach using Spring’s @ControllerAdvice, custom Assert interfaces, enum‑based error codes, and standardized response objects to improve readability, maintainability, and internationalized error reporting.

EnumJavaUnified Error
0 likes · 21 min read
Mastering Unified Exception Handling in Spring Boot: Clean Code, Better Errors
Top Architect
Top Architect
Apr 12, 2023 · Backend Development

Dynamic Multi‑DataSource Management and Transaction Handling in Spring

This article explains how to dynamically manage multiple data sources and ensure transactional consistency in Spring applications by extending AbstractRoutingDataSource, using configuration‑file or database‑table approaches, applying AOP for datasource switching, and implementing custom multi‑database transaction management.

DynamicDataSourceMultiDatabaseTransactionManagement
0 likes · 16 min read
Dynamic Multi‑DataSource Management and Transaction Handling in Spring
HomeTech
HomeTech
Apr 11, 2023 · Backend Development

Applying Finite State Machines with Spring Statemachine and Squirrel-foundation in Java

This article explains the concept of finite state machines, outlines scenarios where they are beneficial, compares Spring Statemachine and Squirrel-foundation implementations, and provides detailed configuration, guard/action code, persistence, testing, and practical usage tips for managing complex business workflows in Java backend services.

State Machinespringsquirrel-foundation
0 likes · 17 min read
Applying Finite State Machines with Spring Statemachine and Squirrel-foundation in Java
JD Retail Technology
JD Retail Technology
Apr 11, 2023 · Backend Development

Understanding the Architecture and Configuration of JD's JSF RPC Framework

This article explains the design and implementation of JD's JSF RPC framework, detailing the architecture, XML configuration of providers and consumers, Spring namespace handling, service registration, server startup, client initialization, load balancing, and the overall workflow from provider exposure to consumer invocation.

BackendJSFJava
0 likes · 12 min read
Understanding the Architecture and Configuration of JD's JSF RPC Framework
Top Architect
Top Architect
Apr 10, 2023 · Databases

Dynamic Multi‑DataSource Management and Transaction Handling in Spring

The article explains how to dynamically manage multiple data sources and ensure transaction consistency in Spring applications by extending AbstractRoutingDataSource, using configuration‑file or database‑table approaches, and applying AOP‑based switching with custom transaction management.

DynamicDataSourceJavaTransaction Management
0 likes · 16 min read
Dynamic Multi‑DataSource Management and Transaction Handling in Spring
Selected Java Interview Questions
Selected Java Interview Questions
Apr 9, 2023 · Backend Development

Using Lombok @RequiredArgsConstructor to Replace @Autowired and @Resource in Spring Dependency Injection

The article explains Spring's three dependency injection methods, highlights the drawbacks of field injection, recommends constructor injection, and demonstrates how Lombok's @RequiredArgsConstructor can generate the required constructor to eliminate @Autowired and @Resource annotations, simplifying code and preventing NullPointerExceptions.

Backend DevelopmentConstructor InjectionDependency Injection
0 likes · 4 min read
Using Lombok @RequiredArgsConstructor to Replace @Autowired and @Resource in Spring Dependency Injection
Code Ape Tech Column
Code Ape Tech Column
Apr 8, 2023 · Backend Development

Understanding Spring Dependency Injection and Lombok @RequiredArgsConstructor

This article explains Spring's three dependency injection methods—field, constructor, and setter injection—highlights the advantages of constructor injection for avoiding null pointers and circular dependencies, and demonstrates how Lombok's @RequiredArgsConstructor can simplify bean wiring in Java backend development.

BackendConstructor InjectionDependency Injection
0 likes · 6 min read
Understanding Spring Dependency Injection and Lombok @RequiredArgsConstructor
Code Ape Tech Column
Code Ape Tech Column
Apr 7, 2023 · Backend Development

Dynamic Multi-DataSource Management and Transaction Handling in Spring

This article explains how to dynamically manage multiple data sources and ensure transaction consistency across them in Spring applications, covering both configuration‑file and database‑table approaches, custom AOP switching, and a bespoke multi‑database transaction mechanism.

Backend DevelopmentJavaTransaction Management
0 likes · 14 min read
Dynamic Multi-DataSource Management and Transaction Handling in Spring
Java Architect Essentials
Java Architect Essentials
Apr 4, 2023 · Backend Development

14 Essential Java Backend Development Practices for Clean and Maintainable Code

This article shares fourteen practical Java backend development habits—including using @ConfigurationProperties, replacing @Autowired with @RequiredArgsConstructor, modularizing code, throwing exceptions instead of returning error flags, minimizing unnecessary database calls, avoiding null returns, reducing if‑else chains, and leveraging IDE features—to help developers write cleaner, more robust, and easier‑to‑maintain code.

Best Practicescode qualityconfiguration
0 likes · 8 min read
14 Essential Java Backend Development Practices for Clean and Maintainable Code
Shepherd Advanced Notes
Shepherd Advanced Notes
Apr 3, 2023 · Backend Development

Deep Dive into Spring’s @ComponentScan: Usage and Underlying Mechanics

This article explains why Spring Boot is popular, how @ComponentScan discovers @Component, @Controller, @Service, and @Repository beans across packages, demonstrates usage with code examples, and details the internal processing flow involving ConfigurationClassPostProcessor and related parsers.

AnnotationDependency Injectioncomponent-scan
0 likes · 15 min read
Deep Dive into Spring’s @ComponentScan: Usage and Underlying Mechanics