반응형

BeanPostProcessor 2

[Spring 공식문서 정리] 6. AOP는 왜 필요한가 – Spring Proxy 구조의 시작

5편에서는 의존성 주입 과정에서 프록시 객체가 언제, 왜 주입되는지를 살펴봤습니다.이번 글에서는 그 프록시 구조의 출발점, Spring AOP(Aspect-Oriented Programming)가 왜 필요했고, 어떤 문제를 해결하려고 등장했는지를 정리해보겠습니다.1. 비즈니스 코드에 반복되는 것들실제 비즈니스 로직을 작성하다 보면 항상 비슷한 코드들이 반복됩니다.트랜잭션 시작과 종료로깅권한 체크성능 측정이 코드들은핵심 비즈니스 로직은 아니지만여러 클래스에 걸쳐 반복되며없으면 안 되는 코드라는 특징을 가집니다.Spring은 이런 코드를 횡단 관심사(Cross-cutting Concern)라고 부릅니다.2. 횡단 관심사가 만드는 구조적 문제횡단 관심사를 그냥 메서드 안에 직접 작성하면 다음과 같은 문제가 생..

[Spring 공식문서 정리] 4. Bean 생명주기 완전 정리 – 생성부터 소멸까지

3편에서는 Spring IoC 컨테이너에 Bean이 어떻게 등록되는지를 살펴봤습니다.이번 글에서는 그 다음 단계, 등록된 Bean이 언제 생성되고, 어떤 과정을 거쳐 사용되다가, 언제 소멸되는지를 정리해보겠습니다.Bean 생명주기는DI가 안 되는 이유@Transactional이 적용되지 않는 이유초기화 로직이 예상과 다르게 동작하는 이유를 설명해주는 핵심 개념입니다.1. Bean 생명주기를 한 문장으로 정리하면Spring 공식문서 기준으로 Bean 생명주기는 다음과 같이 요약할 수 있습니다.Bean 정의 등록 → Bean 생성 → 의존성 주입 → 초기화 → 사용 → 소멸 중요한 점은, “등록”과 “생성”은 전혀 다른 단계라는 것입니다.컴포넌트 스캔이나 @Bean 등록은 설계도(BeanDefinition)..

반응형