id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id
title
category
status
canonical_id
aliases
duplicate_of
source_trust_level
confidence_score
verification_status
tags
raw_sources
last_reinforced
github_commit
tech_stack
wiki-2026-0508-spring-framework
Spring Framework
10_Wiki/Topics
verified
self
Spring
Spring Boot
Spring Core
none
A
0.9
applied
java
framework
dependency-injection
spring-boot
2026-05-10
pending
language
framework
java
spring-boot
Spring Framework
매 한 줄
"매 Java enterprise 의 IoC container — 매 Beans, AOP, MVC, Boot 의 ecosystem" . Rod Johnson (2003) 의 J2EE 대체. 2026 현재 Spring Boot 3.4 (Java 21+, virtual threads, AOT/GraalVM native) 가 매 backend Java 의 de-facto.
매 핵심
매 IoC / DI
ApplicationContext : 매 Bean 의 lifecycle 관리.
@Component, @Service, @Repository, @Controller : 매 stereotype.
Constructor injection : 매 권장 (final field, immutability).
매 modules
Spring Core : IoC, DI, Resource, SpEL.
Spring MVC / WebFlux : HTTP (Servlet vs reactive).
Spring Data : JPA, MongoDB, Redis repository abstraction.
Spring Security : Auth (OAuth2, JWT, OIDC).
Spring Boot : 매 auto-configuration, embedded Tomcat/Netty.
매 응용
REST API backend (Boot + Web + Data JPA).
Reactive microservice (WebFlux + R2DBC).
Batch job (Spring Batch).
💻 패턴
Spring Boot 3.4 application
Constructor injection 의 service
REST controller (Java 21 records)
Spring Data JPA repository
Configuration properties
Virtual threads (Boot 3.2+, Java 21)
WebFlux reactive endpoint
Test (slice)
매 결정 기준
상황
Approach
Java enterprise backend
Spring Boot
매 reactive, high-concurrency I/O
WebFlux + R2DBC
매 traditional blocking I/O + Java 21
Spring MVC + virtual threads
Native binary (cold start, low memory)
Spring Boot AOT + GraalVM
Lightweight Java (no DI ecosystem)
Quarkus / Micronaut / pure Javalin
기본값 : Spring Boot 3.4 + Java 21 + virtual threads + Spring MVC.
🔗 Graph
🤖 LLM 활용
언제 : Java backend, 매 enterprise integration (JPA, security, messaging) 필요.
언제 X : 매 ultra-low memory (serverless cold start) — Quarkus native 의 superior; 매 non-Java stack.
❌ 안티패턴
Field injection (@Autowired private field) : 매 testability X, 매 final X. Constructor 의 사용.
God @Configuration : 매 100+ bean 의 한 file — 매 module 별 분리.
@Transactional on private : 매 proxy 의 work X. Public + self-injection 패턴.
Boot 1.x / Java 8 : 매 EOL, 매 vulnerable, 매 upgrade.
🧪 검증 / 중복
Verified (spring.io docs, Spring Boot 3.4 release notes 2025).
신뢰도 A.
🕓 Changelog
날짜
변경
2026-05-08
Phase 1
2026-05-10
Manual cleanup — Spring Boot 3.4 / Java 21 modern patterns