1편에서는 Spring Framework가 어떤 문제를 해결하려고 등장했는지, 그리고 그 핵심 철학이 IoC(Inversion of Control)라는 점을 살펴봤습니다.이번 글에서는 그 IoC를 실제로 구현하는 존재, IoC 컨테이너의 정체를 본격적으로 파헤쳐보려고 합니다.우리가 흔히 사용하는 @Service, @Component, @Autowired 같은 기능들은 모두 이 컨테이너 위에서만 의미를 가집니다.1. IoC 컨테이너란 무엇인가IoC 컨테이너는 한 문장으로 정리하면 다음과 같습니다.애플리케이션에 필요한 객체를 생성하고, 의존성을 연결하며, 생명주기를 관리하는 존재 Spring에서 이 역할을 수행하는 것이 바로 ApplicationContext입니다.즉, Spring 애플리케이션은 단순히 ma..