~/tech-blog/series/spring-core — zsh
지금 --명이 보고 있습니다오늘 --누적 --

스프링 핵심 원리 18 posts

Spring · 다 읽는 데 약 103분

01

객체 지향 설계와 스프링

스프링을 배우기에 앞서 다형성과 역할-구현 분리, SOLID 5원칙이 왜 좋은 객체 지향 설계의 토대가 되는지 정리합니다.

6 min
02

예제 만들기

회원 조회와 주문 할인 정책 예제를 구현하며 DIP 위반 문제를 발견하고, AppConfig로 관심사를 분리하는 과정을 정리합니다.

6 min
03

AppConfig 리팩터링

중복이 있던 AppConfig를 리팩터링해 역할과 구현이 한눈에 드러나도록 정리하고, 그 과정에서 지켜지는 SOLID 원칙을 살펴봅니다.

3 min
04

스프링 빈으로 전환하기

순수 자바 코드로 작성했던 AppConfig를 @Configuration과 @Bean으로 전환해 스프링 컨테이너에 빈을 등록하고, ApplicationContext에서 빈을 조회해 사용하는 과정을 정리합니다.

4 min
05

BeanFactory와 ApplicationContext

스프링 컨테이너의 최상위 인터페이스인 BeanFactory와, 이를 상속해 국제화·환경변수·이벤트·리소스 조회 같은 부가 기능을 제공하는 ApplicationContext의 역할을 정리합니다.

2 min
06

XML로 스프링 빈 설정하기

자바 코드 대신 XML로 스프링 빈을 설정하는 방법과, 자바 코드·XML 같은 다양한 설정 형식을 가능하게 하는 BeanDefinition 추상화와 BeanDefinitionReader의 역할을 정리합니다.

4 min
07

웹 애플리케이션과 싱글톤

요청마다 new로 객체를 생성하던 AppConfig의 문제를 직접 구현한 싱글톤 패턴과 스프링 컨테이너로 각각 해결해 보고, 싱글톤 패턴의 문제점을 정리합니다.

5 min
08

싱글톤 방식의 주의점

싱글톤 빈은 여러 클라이언트가 하나의 객체를 공유하기 때문에 무상태로 설계해야 한다는 점을, 공유 필드 때문에 다른 사용자의 주문 금액이 조회되는 StatefulService 예제로 확인합니다.

5 min
09

싱글톤 컨테이너와 @Configuration

AppConfig에서 memberRepository()가 여러 번 호출되는 것처럼 보여도 싱글톤이 보장되는 이유를 @Configuration과 CGLIB 바이트코드 조작으로 확인하고, @Bean만 사용할 때와 비교합니다.

9 min
10

컴포넌트 스캔

설정 정보 없이 스프링 빈을 자동으로 등록하는 컴포넌트 스캔과 @Autowired 의존관계 자동 주입의 동작, 탐색 위치 지정과 기본 스캔 대상을 정리합니다.

6 min
12

조회 빈이 2개 이상 충돌할 때

스프링에서 @Autowired로 조회한 빈이 2개 이상일 때 발생하는 충돌을 필드명 매칭, @Qualifier, @Primary로 해결하는 방법과 둘을 함께 쓸 때의 우선순위를 정리합니다.

7 min
15

빈 생명주기 콜백

스프링 빈의 생명주기와 초기화·소멸 콜백을 인터페이스, 설정 정보, @PostConstruct/@PreDestroy 세 가지 방식으로 비교해 정리합니다.

11 min
16

프로토타입 스코프와 싱글톤 빈

싱글톤과 프로토타입 빈 스코프의 차이를 살펴보고, 싱글톤 빈이 프로토타입 빈을 주입받을 때 발생하는 문제를 예제로 정리합니다.

9 min
18

웹 스코프

웹 스코프와 request 스코프의 동작 방식을 살펴보고, ObjectProvider와 CGLIB 프록시로 스코프 문제를 해결하는 방법을 정리합니다.

10 min
● main 231 posts UTF-8 LF © 2026 코징 RSS · GitHub