스프링 직접 구현하기 #6: AOP 구현을 위한 IoC 컨테이너 리팩토링
들어가며이번 글에서는 스프링의 또 다른 핵심 기능인 AOP(Aspect-Oriented Programming)를 구현해보고, 이 과정에서 기존 IoC 컨테이너를 어떻게 개선했는지 공유하고자 합니다. AOP 기능의 목표는 앞으로 구현할 선언적 트랜잭션의 기반을 마련하는 것입니다. AOP를 구현하려면 특정 메서드가 호출될 때 공통 로직(부가 기능)을 실행시켜야 합니다. 스프링에서는 이를 프록시(Proxy) 객체를 통해 해결합니다. 즉, 실제 빈(Bean) 대신 프록시 객체를 IoC 컨테이너에 등록하고, 의존성을 주입할 때도 이 프록시 객체를 주입해야 합니다. 여기서 기존 구현 방식의 한계가 드러났습니다.기존 방식은 @Component가 붙은 클래스를 모두 스캔한 뒤, (1) 생성자 주입이 필요 없는 빈들을 ..
format_list_bulleted
프로젝트/스프링 직접 구현하기 · 2025. 6. 6.