Tagged articles

spring

1810 articles · Page 12 of 19
Code Ape Tech Column
Code Ape Tech Column
May 7, 2022 · Information Security

SQL Injection Attack Demonstration and Prevention in a Java Spring Application

This article explains how SQL injection can exploit a Java Spring course‑selection system by concatenating user input into SQL statements, demonstrates various injection techniques such as always‑true conditions and UNION queries, and provides multiple defensive measures including prepared statements, type checking, permission restrictions, and request‑parameter filtering.

DatabaseJavaSQL Injection
0 likes · 5 min read
SQL Injection Attack Demonstration and Prevention in a Java Spring Application
macrozheng
macrozheng
May 6, 2022 · Backend Development

Master Spring Bean Injection: XML, Annotations, FactoryBean & RegistryPostProcessor

Explore multiple Spring bean injection techniques—including XML configuration, annotation-driven @Configuration/@Bean, @Import, FactoryBean, and BeanDefinitionRegistryPostProcessor—through clear explanations, code samples, and practical examples, highlighting their advantages, drawbacks, and how to integrate them into a Spring application.

BeanDefinitionRegistryPostProcessorDependency InjectionJava
0 likes · 10 min read
Master Spring Bean Injection: XML, Annotations, FactoryBean & RegistryPostProcessor
Code Ape Tech Column
Code Ape Tech Column
May 5, 2022 · Backend Development

Optimizing Bulk Database Updates with Manual Transactions and Multithreading in Spring/MyBatis

This article demonstrates how to dramatically speed up updating tens of thousands of records in a Spring‑MyBatis application by switching from automatic per‑operation commits to manual transaction control, applying multithreaded processing, tuning the Hikari connection pool, and using SQL UNION‑based batch updates.

DatabaseMyBatisTransaction
0 likes · 13 min read
Optimizing Bulk Database Updates with Manual Transactions and Multithreading in Spring/MyBatis
Programmer DD
Programmer DD
May 3, 2022 · Backend Development

Mastering Spring Kafka Listeners: Containers, Concurrency, and @KafkaListener

This article explains how Spring Kafka’s KafkaMessageListenerContainer and ConcurrentMessageListenerContainer work, details their start-up process and internal consumer threads, shows how @KafkaListener bridges business logic, and provides configuration examples for single‑message and batch processing in Spring Boot.

Backend DevelopmentJavaKafka
0 likes · 11 min read
Mastering Spring Kafka Listeners: Containers, Concurrency, and @KafkaListener
Su San Talks Tech
Su San Talks Tech
May 2, 2022 · Fundamentals

12 Real-World Java Concurrency Scenarios Every Developer Should Master

This article explores twelve practical multithreading use cases in Java, ranging from simple scheduled tasks and listeners to Excel imports, remote call aggregation, user context handling, MDC logging, high‑concurrency simulation, Kafka message processing, atomic counters, and delayed jobs, providing code examples and best‑practice tips for each scenario.

Javaconcurrencymultithreading
0 likes · 25 min read
12 Real-World Java Concurrency Scenarios Every Developer Should Master
Java Captain
Java Captain
Apr 29, 2022 · Backend Development

Best Practices for Java Bean Conversion, Validation, and Refactoring

This article discusses practical techniques for Java developers, covering bean conversion using DTOs and Spring utilities, validation with JSR‑303, leveraging Lombok for cleaner code, applying design patterns, and systematic refactoring to improve readability, maintainability, and overall code quality in backend projects.

DTOJavaLombok
0 likes · 27 min read
Best Practices for Java Bean Conversion, Validation, and Refactoring
Selected Java Interview Questions
Selected Java Interview Questions
Apr 29, 2022 · Backend Development

Using Spring's @Async Annotation: Thread Pool Configuration and Custom Implementations

This article explains the purpose and usage rules of Spring's @Async annotation, compares built‑in executors, demonstrates how to enable @Async, and provides detailed examples of custom thread‑pool configurations, multiple pool management, and important source‑code analysis for robust asynchronous processing in Java backend applications.

asyncspringthreadpool
0 likes · 13 min read
Using Spring's @Async Annotation: Thread Pool Configuration and Custom Implementations
Programmer DD
Programmer DD
Apr 29, 2022 · Backend Development

Simplify Bean Mapping with MapStruct Spring Extensions and ConversionService

This article introduces MapStruct’s new Spring extension, shows how to replace manual BeanUtil conversions with generated mappers, explains the Spring Converter interface, and demonstrates custom configuration and integration with ConversionService for seamless DTO/VO/PO transformations in Java backend projects.

ConversionServiceJavabean-mapping
0 likes · 8 min read
Simplify Bean Mapping with MapStruct Spring Extensions and ConversionService
macrozheng
macrozheng
Apr 29, 2022 · Backend Development

Boost Spring Apps with MapStruct: Seamless Conversion Service Integration

This article explains how to replace manual BeanUtil mapping with MapStruct, leverage Spring's Converter interface, and use the MapStruct Spring Extensions plugin to automatically register mappers with ConversionService, including custom adapter configuration and integration of built‑in Spring converters.

Backend DevelopmentConversionServiceJava
0 likes · 8 min read
Boost Spring Apps with MapStruct: Seamless Conversion Service Integration
Architecture Digest
Architecture Digest
Apr 28, 2022 · Backend Development

Comprehensive Domain Interface Design and Its Application in Backend Systems

This article explores the concept of fully interface‑based domain modeling, demonstrates how to design domain objects as interfaces, shows repository implementations for JPA, MyBatis and Elasticsearch, discusses association handling, and explains how such designs enable seamless switching between monolithic, clustered and microservice deployments.

Backend DevelopmentDomain-Driven DesignJava
0 likes · 11 min read
Comprehensive Domain Interface Design and Its Application in Backend Systems
Selected Java Interview Questions
Selected Java Interview Questions
Apr 27, 2022 · Backend Development

Using MapStruct for Object Mapping in Java: Basics, Advanced Features and Spring Integration

This article explains how MapStruct, a Java annotation‑processor library, can automatically generate mapper implementations to convert between entities and DTOs, covering basic usage, default methods, abstract classes, multiple source parameters, update operations, handling fields without getters/setters, Spring injection and custom type conversions.

Annotation ProcessorDTOObject Mapping
0 likes · 16 min read
Using MapStruct for Object Mapping in Java: Basics, Advanced Features and Spring Integration
Architecture Digest
Architecture Digest
Apr 26, 2022 · Backend Development

Implementing Request Logging with Spring AOP and Annotations

This article demonstrates how to create a request‑logging aspect in Spring Boot using AOP annotations, shows code for pointcuts, advices, high‑concurrency optimizations, exception handling, and trace‑ID propagation, and explains the underlying concepts and practical tips.

AOPAspectJJava
0 likes · 16 min read
Implementing Request Logging with Spring AOP and Annotations
Selected Java Interview Questions
Selected Java Interview Questions
Apr 24, 2022 · Backend Development

Comprehensive Guide to Spring Validation: Best Practices, Advanced Usage, and Implementation Details

This article provides an in‑depth tutorial on Spring Validation, covering basic usage, dependency setup, requestBody and requestParam validation, DTO constraints, group and nested validation, collection handling, custom validators, programming‑style validation, fail‑fast mode, and the underlying implementation mechanisms in Spring MVC.

DTOHibernateValidatorValidation
0 likes · 16 min read
Comprehensive Guide to Spring Validation: Best Practices, Advanced Usage, and Implementation Details
Java Backend Technology
Java Backend Technology
Apr 24, 2022 · Backend Development

Master Java Refactoring: DTO Conversions, Lombok, and Design Patterns

This article explores practical Java backend techniques, including IDE selection, domain vs entity naming, DTO conversion strategies with BeanUtils and custom interfaces, validation with JSR‑303, Lombok shortcuts, builder patterns, static constructors, and design‑pattern considerations, offering concrete code examples and refactoring tips for seasoned developers.

DTODesign PatternsJava
0 likes · 27 min read
Master Java Refactoring: DTO Conversions, Lombok, and Design Patterns
Open Source Tech Hub
Open Source Tech Hub
Apr 23, 2022 · Backend Development

Should You Avoid Field Injection in Spring? Constructor vs Setter Trade‑offs

Field injection in Spring looks concise, but it introduces hidden dependencies, violates the Single Responsibility Principle, hampers immutability, and tightly couples code to the DI container; the article compares constructor, setter, and field injection, explains their drawbacks, and recommends using constructors for mandatory dependencies and setters for optional ones.

Constructor InjectionDependency InjectionField Injection
0 likes · 9 min read
Should You Avoid Field Injection in Spring? Constructor vs Setter Trade‑offs
Java Tech Enthusiast
Java Tech Enthusiast
Apr 23, 2022 · Backend Development

Spring AOP Tutorial with Code Examples

This Spring AOP tutorial explains how to modularize cross‑cutting concerns such as timing by defining an aspect with @Before, @After, @AfterReturning, @AfterThrowing and @Around advice, demonstrates refactoring a calculation service, and compares Spring’s proxy mechanisms to a custom JDK dynamic proxy implementation.

AOPAspectJDynamicProxy
0 likes · 17 min read
Spring AOP Tutorial with Code Examples
Top Architect
Top Architect
Apr 21, 2022 · Backend Development

Understanding AOP: Joinpoint Design, Advice, and Weaving in Java

This article explains the background, concepts, and implementation details of Aspect‑Oriented Programming in Java, covering joinpoint interface design, advice abstraction, static and dynamic weaving, and how Spring AOP applies these principles with illustrative code and diagrams.

AOPAdviceBackend Development
0 likes · 9 min read
Understanding AOP: Joinpoint Design, Advice, and Weaving in Java
Programmer DD
Programmer DD
Apr 16, 2022 · Backend Development

Mastering Single-Node and Distributed Scheduled Tasks in Java

This article compares native JDK ScheduledExecutorService, Spring Task, Redis‑based approaches, and popular distributed scheduling frameworks such as Quartz, Elastic‑Job, LTS, and XXL‑Job, providing code examples, usage scenarios, advantages, and best‑practice recommendations for implementing reliable timed jobs in microservice environments.

Backend DevelopmentDistributed SchedulingJava
0 likes · 10 min read
Mastering Single-Node and Distributed Scheduled Tasks in Java
Java Backend Technology
Java Backend Technology
Apr 16, 2022 · Backend Development

Why @Transactional Sometimes Fails in Spring and How to Fix It

This article explains three common situations where Spring's @Transactional annotation becomes ineffective—non‑public methods, internal self‑calls, and swallowed exceptions—detailing the underlying proxy mechanism, code examples, test results, and practical workarounds to ensure proper transaction management.

@TransactionalAOPDatabase
0 likes · 12 min read
Why @Transactional Sometimes Fails in Spring and How to Fix It
Java Architect Essentials
Java Architect Essentials
Apr 15, 2022 · Backend Development

Comprehensive Guide to Common Spring Framework Annotations

This article provides a detailed overview of the most frequently used Spring annotations—including core, MVC/REST, Boot, stereotype, data access, scheduling, and testing annotations—explaining their purposes, usage rules, and providing Java code examples for each.

DependencyInjectionSpringMVCannotations
0 likes · 13 min read
Comprehensive Guide to Common Spring Framework Annotations
Top Architect
Top Architect
Apr 15, 2022 · Backend Development

Implementing Request Logging with Spring AOP and TraceId

This article demonstrates how to create a Spring AOP request‑logging aspect that captures IP, URL, HTTP method, class method, parameters, results and execution time, and extends it with high‑concurrency handling, error logging, and TraceId propagation for better traceability.

AOPJavaRequest Logging
0 likes · 13 min read
Implementing Request Logging with Spring AOP and TraceId
IT Services Circle
IT Services Circle
Apr 8, 2022 · Backend Development

Understanding Spring's Event Publishing and Listening Mechanism: Source Code Analysis and Practical Implementation

This article explains how Spring implements broadcast and listener functionality through ApplicationEventPublisher and ApplicationListener, analyzes the underlying bean post‑processor workflow, and provides complete source‑code examples for custom events, publishers, listeners, and a REST client to demonstrate end‑to‑end event handling.

Backend DevelopmentEvent PublishingJava
0 likes · 7 min read
Understanding Spring's Event Publishing and Listening Mechanism: Source Code Analysis and Practical Implementation
Selected Java Interview Questions
Selected Java Interview Questions
Apr 7, 2022 · Backend Development

Single-Node and Distributed Scheduled Tasks in Java: JDK, Spring, Redis, and Middleware Solutions

This article explains how to implement single-node scheduled tasks using JDK's ScheduledExecutorService and Spring @Scheduled, compares Redis‑based approaches with ZSet and key‑space notifications, and reviews popular distributed scheduling frameworks such as Quartz, elastic‑job‑lite, LTS, and XXL‑Job for microservice environments.

Backend Developmentscheduled tasksspring
0 likes · 9 min read
Single-Node and Distributed Scheduled Tasks in Java: JDK, Spring, Redis, and Middleware Solutions
Java Backend Technology
Java Backend Technology
Apr 7, 2022 · Backend Development

Does @Transactional Commit Before Unlock? Deep Dive into Spring Transaction Timing

This article explores the precise moment a Spring @Transactional transaction is committed relative to a surrounding lock release, revealing that commits occur after the method finishes, and demonstrates how to verify this through source code inspection, debugging techniques, and proper lock‑usage to prevent overselling.

LockMySQLTransaction
0 likes · 21 min read
Does @Transactional Commit Before Unlock? Deep Dive into Spring Transaction Timing
Selected Java Interview Questions
Selected Java Interview Questions
Apr 6, 2022 · Backend Development

Server‑Side Request Deduplication Using Redis and Java

This article explains how to prevent duplicate user requests on the server side by leveraging unique request IDs or business‑parameter MD5 hashes with Redis, provides Java helper utilities, code examples, and practical tips for handling time‑related fields and atomic SETNX operations.

MD5request deduplicationspring
0 likes · 9 min read
Server‑Side Request Deduplication Using Redis and Java
Zhuanzhuan Tech
Zhuanzhuan Tech
Apr 6, 2022 · Backend Development

Design and Implementation of an Annotation‑Based HTTP Client in Spring

This article presents a design pattern for a unified, annotation‑driven HTTP client in a Spring‑based payment system, detailing custom annotations, dynamic proxy enhancement, and bean registration via FactoryBean and ImportBeanDefinitionRegistrar, with complete code examples and a summary of key concepts.

Dynamic ProxyHTTP ClientJava
0 likes · 16 min read
Design and Implementation of an Annotation‑Based HTTP Client in Spring
Java Backend Technology
Java Backend Technology
Apr 3, 2022 · Backend Development

Why @Transactional Fails in Spring and How to Fix It

This article explains three common reasons why the @Transactional annotation may not work in Spring—non‑public methods, self‑invocation, and catching exceptions—provides code examples for each case, and details the underlying proxy and transaction management mechanisms to help developers resolve the issues.

@TransactionalAOPJava
0 likes · 11 min read
Why @Transactional Fails in Spring and How to Fix It
Java Backend Technology
Java Backend Technology
Apr 2, 2022 · Information Security

How I Reproduced the Massive Spring RCE Vulnerability (CVE-2022-22965)

This article details the discovery, official announcement, prerequisite conditions, and step‑by‑step reproduction of the critical Spring Framework remote code execution vulnerability (CVE‑2022‑22965), including exploit payloads, JSP backdoor creation, and practical mitigation insights.

Backend SecurityCVE-2022-22965Java
0 likes · 10 min read
How I Reproduced the Massive Spring RCE Vulnerability (CVE-2022-22965)
IT Xianyu
IT Xianyu
Apr 1, 2022 · Backend Development

Why Use Spring? Understanding How It Solves Coupling Problems with Dependency Injection

This article compares traditional object creation with Spring’s dependency injection, demonstrating how injecting DAO beans via XML configuration decouples service and data layers, includes Java code examples, test results, and visual analogies of gear systems to illustrate reduced coupling.

Backend DevelopmentDependency InjectionIOC
0 likes · 5 min read
Why Use Spring? Understanding How It Solves Coupling Problems with Dependency Injection
Programmer DD
Programmer DD
Mar 31, 2022 · Information Security

Is the Rumored Spring “Super” Vulnerability Real? What You Need to Know

The article investigates the circulating rumors of a massive Spring framework vulnerability, clarifies its actual scope—affecting Java 9+ projects—and explains why the alleged CVE differs from official reports, while warning readers to rely only on verified security advisories.

CVE-2022-22963JavaVulnerability
0 likes · 7 min read
Is the Rumored Spring “Super” Vulnerability Real? What You Need to Know
JavaEdge
JavaEdge
Mar 29, 2022 · Information Security

How to Detect and Fix the Spring SPEL Remote Code Execution Vulnerability

This guide explains the Spring SPEL injection flaw, how to determine if your Java application is affected by checking JDK version and Spring usage in WAR or JAR packages, and provides official upgrade steps along with temporary WAF and code‑level mitigations.

JavaPATCHRCE
0 likes · 5 min read
How to Detect and Fix the Spring SPEL Remote Code Execution Vulnerability
IT Services Circle
IT Services Circle
Mar 27, 2022 · Backend Development

Resolving OpenFeign Asynchronous Call Failures by Propagating Request Context

This article explains why OpenFeign asynchronous calls fail due to lost request context, demonstrates a RequestInterceptor to propagate JWT tokens, and shows how to capture and set RequestAttributes in CompletableFuture tasks so that async Feign calls succeed without triggering Sentinel degradation.

JavaOpenFeignRequestContextHolder
0 likes · 5 min read
Resolving OpenFeign Asynchronous Call Failures by Propagating Request Context
Selected Java Interview Questions
Selected Java Interview Questions
Mar 26, 2022 · Backend Development

Comparison of @Resource and @Autowired for Bean Injection in Spring

This article explains the similarities and differences between Spring's @Autowired and the JSR‑250 @Resource annotations, covering their packages, injection mechanisms, usage on fields and setters, configuration options, IDE warnings, and best‑practice recommendations for bean injection in Java backend development.

Dependency Injectionannotationsspring
0 likes · 6 min read
Comparison of @Resource and @Autowired for Bean Injection in Spring
Yang Money Pot Technology Team
Yang Money Pot Technology Team
Mar 25, 2022 · Backend Development

Why WebSocket? Advantages, Comparison, and STOMP on Spring WebSocket

This article explains the limitations of HTTP for real‑time communication, compares WebSocket with polling, long‑polling, streaming and SSE, outlines WebSocket's benefits and typical use cases, and then details how STOMP complements WebSocket within Spring's messaging framework, including configuration and message flow.

MessageBrokerReal-timeWebSocket
0 likes · 27 min read
Why WebSocket? Advantages, Comparison, and STOMP on Spring WebSocket
Sohu Tech Products
Sohu Tech Products
Mar 23, 2022 · Backend Development

Building a Simple Spring IOC Container: XML and Annotation‑Based Bean Assembly

This article demonstrates how to create a lightweight Spring‑style IoC container in Java by parsing a properties file for XML‑like configuration, implementing annotation‑driven bean registration with a custom @Bean annotation, and adding automatic field injection using a custom @Autowired annotation, complete with full source code examples.

AnnotationDependency InjectionIOC
0 likes · 11 min read
Building a Simple Spring IOC Container: XML and Annotation‑Based Bean Assembly
Top Architect
Top Architect
Mar 21, 2022 · Backend Development

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

This article explains Spring's bean lifecycle, the three‑level cache mechanism (singletonObjects, earlySingletonObjects, singletonFactories) used to break circular dependencies, the role of Aware interfaces and BeanPostProcessor, and why a second‑level cache is essential when AOP proxies are involved.

AOPBackend DevelopmentBean Lifecycle
0 likes · 9 min read
How Spring Resolves Bean Circular Dependencies with a Three‑Level Cache
Java High-Performance Architecture
Java High-Performance Architecture
Mar 21, 2022 · Backend Development

Boost Spring Cache Performance with Custom Annotations and a SCAN‑Based RedisCacheWriter

This article explains how to enhance Spring Cache by creating custom cache annotations, replacing the costly KEYS command with SCAN in a rewritten DefaultRedisCacheWriter, and dynamically registering RedisCacheManager beans to support per‑module TTL and transaction‑aware caching, all illustrated with full Java code examples.

BackendCacheJava
0 likes · 28 min read
Boost Spring Cache Performance with Custom Annotations and a SCAN‑Based RedisCacheWriter
Top Architect
Top Architect
Mar 20, 2022 · Backend Development

Understanding Spring's @Transactional Annotation and Its AOP Implementation

This article explains how Spring's @Transactional annotation works by leveraging AOP and dynamic proxies, detailing the bean post‑processor, pointcut definition, proxy creation, interceptor chain, TransactionInterceptor logic, and the transaction commit/rollback process with illustrative code snippets and diagrams.

@TransactionalAOPJava
0 likes · 9 min read
Understanding Spring's @Transactional Annotation and Its AOP Implementation
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Mar 20, 2022 · Backend Development

Java News: JDK 18/19 Updates, Spring Framework Releases, New Value Objects JEP

This roundup covers recent Java ecosystem developments, including the promotion of the Value Objects (Preview) JEP to candidate status, release notes for JDK 18 and early‑access JDK 19 builds, multiple Spring project updates such as Spring Boot 2.7.0‑M1, Spring Data 3.0‑M2 with ListCrudRepository, Spring Security enhancements, as well as Quarkus 2.7.2.Final and a new early‑access version of JReleaser adding Windows resources to jpackage.

BackendJDKJava
0 likes · 7 min read
Java News: JDK 18/19 Updates, Spring Framework Releases, New Value Objects JEP
macrozheng
macrozheng
Mar 18, 2022 · Backend Development

How Spring Solves Circular Dependencies: Deep Dive into Three-Level Caches

This article explains why Spring’s circular dependency problem only occurs with singleton beans, how constructor versus setter injection affects resolution, and why Spring uses a three‑level cache (singletonObjects, earlySingletonObjects, singletonFactories) to expose incomplete beans and support proxy creation without breaking the bean lifecycle.

SingletonThree-level Cachespring
0 likes · 12 min read
How Spring Solves Circular Dependencies: Deep Dive into Three-Level Caches
Meituan Technology Team
Meituan Technology Team
Mar 17, 2022 · Backend Development

Sonic: Meituan's Hot Deployment IDEA Plugin – Architecture and Implementation

The article details Meituan's internal Sonic IDEA plugin for remote and local hot deployment, explaining why hot deployment is needed, its architecture, instrumentation techniques, DCEVM integration, file‑watching, class reloading, and support for Spring Bean, Spring XML and MyBatis, along with adoption statistics and performance benefits.

DCEVMHot DeploymentIDEA Plugin
0 likes · 19 min read
Sonic: Meituan's Hot Deployment IDEA Plugin – Architecture and Implementation
Java High-Performance Architecture
Java High-Performance Architecture
Mar 17, 2022 · Backend Development

Mastering MyBatis Streaming Queries: Reduce Memory Usage and Avoid Cursor Closure Errors

This article explains what streaming queries are, why they save memory compared to pagination, details the MyBatis Cursor interface and its methods, demonstrates how to implement streaming queries with code examples, and presents three solutions—using SqlSessionFactory, TransactionTemplate, and @Transactional—to keep the database connection open and prevent cursor‑closed errors.

DatabaseJavaMyBatis
0 likes · 7 min read
Mastering MyBatis Streaming Queries: Reduce Memory Usage and Avoid Cursor Closure Errors
Sohu Tech Products
Sohu Tech Products
Mar 16, 2022 · Backend Development

Enabling Spring @Async to Support Placeholders and SpEL Expressions

This article explains how to modify Spring's @Async annotation so that its value attribute can resolve placeholders or SpEL expressions, demonstrates a working demo, shows the required code changes using EmbeddedValueResolver, and shares debugging tricks and related Java language features.

JDKJavaOpenSource
0 likes · 14 min read
Enabling Spring @Async to Support Placeholders and SpEL Expressions
macrozheng
macrozheng
Mar 16, 2022 · Backend Development

Build a Mini Spring IoC Container in 5 Minutes: Hands‑On Tutorial

This article walks through the fundamentals of Spring’s IoC container by manually implementing a lightweight version, covering concepts such as IOC, DI, bean definitions, resource loading, bean registration, and a simple BeanFactory with example code and a test demonstrating singleton caching.

Backend DevelopmentBeanFactoryDependency Injection
0 likes · 10 min read
Build a Mini Spring IoC Container in 5 Minutes: Hands‑On Tutorial
Java Captain
Java Captain
Mar 15, 2022 · Backend Development

Why Enterprise Java Projects Turn Into Over‑Engineered Monsters

The article sarcastically critiques the over‑engineered nature of enterprise Java projects, illustrating how simple tasks become tangled in excessive classes, interfaces, factories, dependency‑injection frameworks, XML configurations, massive JARs, and IDE bloat, ultimately leading to deployment failures due to environment mismatches.

Dependency InjectionDesign PatternsEnterprise Architecture
0 likes · 5 min read
Why Enterprise Java Projects Turn Into Over‑Engineered Monsters
Top Architect
Top Architect
Mar 14, 2022 · Backend Development

Understanding Spring Controller Scope: Singleton vs Prototype and Best Practices

This article explains why Spring MVC controllers are singleton by default, demonstrates the thread‑unsafe behavior of using instance fields, shows how applying @Scope("prototype") changes the behavior, and provides practical recommendations such as avoiding mutable fields, using prototype scope or ThreadLocal for safe controller design.

ControllerJavaPrototype
0 likes · 6 min read
Understanding Spring Controller Scope: Singleton vs Prototype and Best Practices
Cognitive Technology Team
Cognitive Technology Team
Mar 13, 2022 · Backend Development

Understanding Synchronous vs Asynchronous Event Execution in Spring's SimpleApplicationEventMulticaster

After upgrading a core component, a previously synchronous domain event in Spring became asynchronous, causing runtime errors; this article explains the underlying mechanism, shows the relevant source code of SimpleApplicationEventMulticaster, and clarifies how the presence or absence of a configured thread pool determines whether events are processed synchronously or asynchronously.

EventJavaasynchronous
0 likes · 3 min read
Understanding Synchronous vs Asynchronous Event Execution in Spring's SimpleApplicationEventMulticaster
转转QA
转转QA
Mar 10, 2022 · Backend Development

Automated Post‑Deployment Interface Testing Using TestNG, Spring and MQ Integration

The article describes a solution that automatically triggers interface test cases after a service deployment by listening to deployment‑success MQ messages, dynamically invoking TestNG with service‑specific IPs, and integrating Spring bean registration to simplify test code while handling dynamic nodes, reporting, and common pitfalls.

BeanFactoryJavaMQ
0 likes · 11 min read
Automated Post‑Deployment Interface Testing Using TestNG, Spring and MQ Integration
macrozheng
macrozheng
Mar 10, 2022 · Backend Development

Master Spring Annotations: @Component vs @Bean, @Autowired vs @Resource, @ControllerAdvice

This article explains several often‑confused Spring annotations—including the differences between @Component and @Bean, the injection behaviors of @Autowired versus @Resource, the roles of @Component, @Repository, @Service, and @Controller, the purpose of @Configuration and @ControllerAdvice, and provides practical code examples for each.

Dependency InjectionJavaannotations
0 likes · 11 min read
Master Spring Annotations: @Component vs @Bean, @Autowired vs @Resource, @ControllerAdvice
Code Ape Tech Column
Code Ape Tech Column
Mar 10, 2022 · Backend Development

10 Common Pitfalls in Java Concurrency and How to Avoid Them

This article outlines ten typical concurrency pitfalls in Java—including SimpleDateFormat thread‑safety, double‑checked locking flaws, volatile atomicity limits, deadlocks, lock release issues, HashMap race conditions, default thread‑pool misuse, @Async thread explosion, spin‑lock CPU waste, and ThreadLocal memory leaks—providing explanations, code examples, and practical solutions for each.

Javaconcurrencymultithreading
0 likes · 20 min read
10 Common Pitfalls in Java Concurrency and How to Avoid Them
Sohu Tech Products
Sohu Tech Products
Mar 9, 2022 · Backend Development

Understanding the Spring Transaction Rollback Bug and Its Resolution

This article analyzes a Spring transaction rollback issue caused by the use of pattern‑based exception matching, explains why certain custom exceptions trigger unexpected rollbacks, traces the problem through source code and GitHub issues, and describes how the Spring team fixed it with type‑safe rollback rules and documentation updates.

BackendJavaRollback
0 likes · 22 min read
Understanding the Spring Transaction Rollback Bug and Its Resolution
Top Architect
Top Architect
Mar 9, 2022 · Backend Development

Deep Dive into Spring Bean Lifecycle and Initialization Process

This article provides a comprehensive analysis of Spring's bean lifecycle, detailing the refresh method steps, post‑processor ordering, bean creation, dependency injection via @Autowired and @Resource, Aware callbacks, and initialization hooks such as @PostConstruct and init‑method.

Bean LifecycleDependency InjectionJava
0 likes · 24 min read
Deep Dive into Spring Bean Lifecycle and Initialization Process
Java Tech Enthusiast
Java Tech Enthusiast
Mar 9, 2022 · Backend Development

Annotation‑Based Bean Management and Dependency Injection in Spring

Spring’s annotation‑based bean registration and dependency injection replace verbose XML by using component scanning with @Component, @Controller, @Service, and @Repository, while @Autowired (or @Qualifier/@Primary) injects beans by type, @Resource supports name‑based injection, and @Value together with @PropertySource loads external configuration, though developers must handle issues such as NoUniqueBeanDefinitionException when multiple candidates exist.

@QualifierAutowiredDependency Injection
0 likes · 8 min read
Annotation‑Based Bean Management and Dependency Injection in Spring
Code Ape Tech Column
Code Ape Tech Column
Mar 9, 2022 · Backend Development

Eliminating Code Duplication in Business Logic with Design Patterns, Annotations, Reflection, and Bean Mapping

This article explains how to reduce repetitive business‑level Java code by applying the Template Method and Factory patterns, leveraging custom annotations with reflection, and using bean‑mapping utilities, thereby improving maintainability, extensibility, and overall code quality.

Code RefactoringDesign PatternsJava
0 likes · 20 min read
Eliminating Code Duplication in Business Logic with Design Patterns, Annotations, Reflection, and Bean Mapping
JavaEdge
JavaEdge
Mar 8, 2022 · Backend Development

Spring Framework 6.x Release: Key Changes and Migration Guide

Spring Framework 6.x has been officially released, introducing Jakarta EE‑based packages for core annotations, requiring Hibernate‑Core‑Jakarta upgrades, updating servlet containers to Tomcat 10/Jetty 11/Undertow 2.2.14, and altering Web MVC/WebFlux behavior, with detailed migration steps and reference links.

BackendJavaMigration
0 likes · 4 min read
Spring Framework 6.x Release: Key Changes and Migration Guide
macrozheng
macrozheng
Mar 8, 2022 · Backend Development

Master Spring RestTemplate: Simplify HTTP Calls and File Transfers in Java

This tutorial walks through using Spring's RestTemplate to replace complex HttpURLConnection and Apache HttpClient code, covering environment setup, bean configuration, GET/POST/PUT/DELETE operations, file upload/download, and advanced exchange usage with clear Java examples.

APIHTTPJava
0 likes · 19 min read
Master Spring RestTemplate: Simplify HTTP Calls and File Transfers in Java
NiuNiu MaTe
NiuNiu MaTe
Mar 8, 2022 · Backend Development

How a Junior Engineer Landed a Tencent Backend Offer: Interview Experience & Tips

This article shares a junior engineer's detailed journey of securing a backend engineering offer at Tencent, covering three interview rounds, key technical topics like Spring, HashMap, Elasticsearch, Redis, and personal reflections on strengths, weaknesses, and preparation strategies.

Backend DevelopmentElasticsearchJava
0 likes · 5 min read
How a Junior Engineer Landed a Tencent Backend Offer: Interview Experience & Tips
Top Architect
Top Architect
Mar 2, 2022 · Backend Development

Unified Exception Handling in Spring Boot Using @ControllerAdvice, Assert, and Enum‑Based Error Codes

This article explains how to replace repetitive try‑catch blocks in Java Spring applications with a unified exception handling strategy that leverages @ControllerAdvice, custom Assert utilities, and enum‑driven error codes to produce clean, maintainable backend code and consistent error responses.

EnumJavaUnified Error Handling
0 likes · 20 min read
Unified Exception Handling in Spring Boot Using @ControllerAdvice, Assert, and Enum‑Based Error Codes
Top Architect
Top Architect
Mar 1, 2022 · Backend Development

Spring Framework Utility Classes Overview: Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, StreamUtils, ReflectionUtils, AopUtils

This article provides a comprehensive reference of Spring Framework utility classes—including Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, StreamUtils, ReflectionUtils, and AopUtils—detailing their purpose, typical usage scenarios, and full method signatures for Java backend development.

FileIOJavaReflection
0 likes · 14 min read
Spring Framework Utility Classes Overview: Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, StreamUtils, ReflectionUtils, AopUtils
Java High-Performance Architecture
Java High-Performance Architecture
Mar 1, 2022 · Backend Development

Unlocking Spring: Core Principles, Design Patterns, and IoC Explained

This comprehensive guide walks through Spring's lightweight Java framework, covering its core principles, key features, advantages and drawbacks, the design patterns it employs, core modules, IoC container mechanics, bean scopes, lifecycle, dependency injection techniques, and AOP fundamentals, all illustrated with diagrams and code snippets.

AOPDependency InjectionDesign Patterns
0 likes · 48 min read
Unlocking Spring: Core Principles, Design Patterns, and IoC Explained
Top Architect
Top Architect
Feb 27, 2022 · Backend Development

Why Field Injection Is Discouraged in Spring and Preferred Alternatives

The article explains Spring's warning against field injection, compares constructor‑based, setter‑based, and field‑based dependency injection with code examples, outlines the drawbacks of field injection, and recommends using constructor or setter injection for safer, more maintainable backend Java applications.

Constructor InjectionDependency InjectionField Injection
0 likes · 7 min read
Why Field Injection Is Discouraged in Spring and Preferred Alternatives
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Feb 25, 2022 · Backend Development

Latest Java & Framework Releases: JDK 18/19, Spring, Quarkus, Micronaut

Recent Java news highlights early‑access builds of JDK 18 and JDK 19, the 2022 Java roadmap, Spring Framework 5.3.15 and 6.0.0‑M2 releases, Spring Data milestones, Quarkus 2.6.2.Final, Micronaut 3.2.5/3.2.6, Piranha 22.1.0, JobRunr 4.0.6, Eclipse Jifa, Micrometer 2.0.0‑M1 and Tracing 1.0.0‑M1, plus the Foojay mid‑year status report.

Framework ReleasesJDKJava
0 likes · 9 min read
Latest Java & Framework Releases: JDK 18/19, Spring, Quarkus, Micronaut
Java Captain
Java Captain
Feb 24, 2022 · Backend Development

How Spring Solves Bean Circular Dependencies Using a Three-Level Cache

This article explains how Spring's bean lifecycle and its three-level caching mechanism—singletonObjects, earlySingletonObjects, and singletonFactories—work together to resolve circular dependencies, especially when AOP proxies are involved, highlighting why a three‑cache approach is necessary.

AOPBackend DevelopmentBean Lifecycle
0 likes · 9 min read
How Spring Solves Bean Circular Dependencies Using a Three-Level Cache
Java Backend Technology
Java Backend Technology
Feb 24, 2022 · Backend Development

Master Spring’s Core Utility Classes: Assertions, ObjectUtils, StringUtils, and More

This article provides a comprehensive overview of Spring Framework’s core utility classes—including Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, StreamUtils, ReflectionUtils, and AOP helpers—detailing their purpose and key method signatures for developers working on Java backend projects.

AOPJavaReflection
0 likes · 13 min read
Master Spring’s Core Utility Classes: Assertions, ObjectUtils, StringUtils, and More
Java Architect Essentials
Java Architect Essentials
Feb 20, 2022 · Backend Development

Common Spring Utility Classes: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, ReflectionUtils, AopUtils Overview

This article consolidates frequently used Spring utility classes—such as Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, ReflectionUtils, and AopUtils—explaining their purpose, typical usage patterns, and providing code snippets to help developers avoid redundant implementations and leverage built‑in Spring functionality.

FileIOReflectionassertions
0 likes · 14 min read
Common Spring Utility Classes: Assertions, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, ReflectionUtils, AopUtils Overview
Selected Java Interview Questions
Selected Java Interview Questions
Feb 16, 2022 · Backend Development

Java Backend Development Best Practices and Tips

This article presents a collection of practical Java backend development guidelines, covering configuration management with @ConfigurationProperties, constructor injection via @RequiredArgsConstructor, code modularization, exception handling, database query reduction, null avoidance, strategic use of design patterns, IDE assistance, source code reading, and fundamental coding techniques such as map traversal and collection choice.

Best Practicescode qualityconfiguration
0 likes · 7 min read
Java Backend Development Best Practices and Tips
Top Architect
Top Architect
Feb 16, 2022 · Backend Development

Understanding Spring AOP Annotations and Their Execution Order

This article explains the common Spring AOP annotations such as @Before, @After, @AfterReturning, @AfterThrowing and @Around, demonstrates how to set up a Spring Boot project, write an interface, implementation, aspect, and discusses execution order, multiple aspects, and proxy‑failure scenarios.

AOPAspectJJava
0 likes · 8 min read
Understanding Spring AOP Annotations and Their Execution Order
Top Architect
Top Architect
Feb 14, 2022 · Backend Development

Common Spring Framework Utility Classes: Assertions, ObjectUtils, StringUtils, CollectionUtils, File/Resource IO, Reflection and AOP Helpers

This article presents a curated collection of Spring Framework utility classes—including assertion helpers, object/array/collection utilities, file and resource IO tools, as well as reflection and AOP utilities—providing ready‑to‑use methods that replace many custom helper functions in Java backend development.

AOPBackend DevelopmentJava
0 likes · 13 min read
Common Spring Framework Utility Classes: Assertions, ObjectUtils, StringUtils, CollectionUtils, File/Resource IO, Reflection and AOP Helpers
Architecture Digest
Architecture Digest
Feb 12, 2022 · Backend Development

Understanding RPC Implementation Principles and a Basic Java RPC Framework Example

This article explains the fundamentals of Remote Procedure Call (RPC), detailing the end‑to‑end workflow from defining service interfaces and implementations, registering services in a Zookeeper registry, handling network communication with Netty, and generating client‑side proxies using Spring and JDK dynamic proxies, all illustrated with complete Java code examples.

JavaRPCZookeeper
0 likes · 19 min read
Understanding RPC Implementation Principles and a Basic Java RPC Framework Example
Top Architect
Top Architect
Feb 9, 2022 · Backend Development

Implementing RPC from Scratch: Service Interface, Registration, Netty Server, and Client Proxy

This article explains the fundamentals of Remote Procedure Call (RPC), detailing the definition, basic call flow, service interface design, server registration with Zookeeper, Netty-based network communication, dynamic proxy generation on the client side, and provides complete Java code examples for a working RPC framework.

Dynamic ProxyJavaNetty
0 likes · 17 min read
Implementing RPC from Scratch: Service Interface, Registration, Netty Server, and Client Proxy
Code Ape Tech Column
Code Ape Tech Column
Feb 8, 2022 · Backend Development

Refactoring Long if...else Chains in Java Using Design Patterns and Spring

This article explains why lengthy if...else statements in Java payment services violate the Open‑Closed and Single‑Responsibility principles and demonstrates several refactoring techniques—including annotations, dynamic bean naming, template methods, strategy‑factory, and chain‑of‑responsibility patterns—using Spring to eliminate the conditional logic.

Design PatternsJavaStrategy Pattern
0 likes · 15 min read
Refactoring Long if...else Chains in Java Using Design Patterns and Spring
Programmer DD
Programmer DD
Feb 7, 2022 · Backend Development

Master Spring’s Core Utility Classes: Assertions, Collections, IO, and Reflection

This article provides a comprehensive guide to Spring's built‑in utility classes—including Assert, ObjectUtils, StringUtils, CollectionUtils, FileCopyUtils, ResourceUtils, StreamUtils, ReflectionUtils, and AOP helpers—explaining their purpose, common methods, and usage examples to replace redundant custom code.

BackendJavaReflection
0 likes · 16 min read
Master Spring’s Core Utility Classes: Assertions, Collections, IO, and Reflection
21CTO
21CTO
Jan 28, 2022 · Backend Development

How Does RPC Work? A Deep Dive into Java RPC Implementation with Netty and Zookeeper

This article explains the fundamentals of Remote Procedure Call (RPC), walks through the complete request‑response flow, and provides a step‑by‑step Java implementation using Spring, custom XML namespaces, Netty for network communication, and Zookeeper for service registration and discovery.

JavaNettyRPC
0 likes · 17 min read
How Does RPC Work? A Deep Dive into Java RPC Implementation with Netty and Zookeeper
NetEase Smart Enterprise Tech+
NetEase Smart Enterprise Tech+
Jan 21, 2022 · Backend Development

Mastering SPI: Build Extensible Java, Spring, and Dubbo Applications

This article explains the Service Provider Interface (SPI) mechanism across JDK, Spring, and Dubbo, showing how to create modular, maintainable code through interface definitions, configuration files, and ServiceLoader or ExtensionLoader usage, with detailed examples, code snippets, and analysis of advantages and drawbacks.

DubboJavaSPI
0 likes · 17 min read
Mastering SPI: Build Extensible Java, Spring, and Dubbo Applications
Java Captain
Java Captain
Jan 18, 2022 · Backend Development

Best Practices for Java Backend Development: Configuration, Lombok, Modular Code, Exception Handling, and More

This article shares a collection of practical Java backend development habits, covering configuration with @ConfigurationProperties, Lombok's @RequiredArgsConstructor, code modularization, exception throwing, reducing DB queries, avoiding null returns, simplifying if‑else, keeping controllers thin, IDE tips, source code reading, design patterns, and fundamental coding techniques.

BackendBest PracticesDesign Patterns
0 likes · 6 min read
Best Practices for Java Backend Development: Configuration, Lombok, Modular Code, Exception Handling, and More
Sanyou's Java Diary
Sanyou's Java Diary
Jan 18, 2022 · Backend Development

Deep Dive into Spring Bean Lifecycle: Property Assignment, Aware Callbacks, Initialization & Destruction

This article continues the Spring bean lifecycle series by explaining the property‑assignment stage, Aware interface callbacks, bean initialization phases, and the destruction process, illustrating each step with source‑code diagrams and highlighting how BeanPostProcessor extensions drive the lifecycle.

Backend DevelopmentDependency InjectionSpring Framework
0 likes · 9 min read
Deep Dive into Spring Bean Lifecycle: Property Assignment, Aware Callbacks, Initialization & Destruction
Top Architect
Top Architect
Jan 14, 2022 · Backend Development

Understanding Exception Types and @Transactional Usage in Spring

This article explains Java exception classification, distinguishes checked and unchecked exceptions, and demonstrates how to configure Spring's @Transactional annotation to control rollback behavior, including examples of rollbackFor, notRollbackFor, and propagation settings, while highlighting common pitfalls with try‑catch blocks.

@TransactionalBackend DevelopmentJava
0 likes · 5 min read
Understanding Exception Types and @Transactional Usage in Spring