Spring IoC 컨테이너 IoC (Inversion of Control) 이름에서도 알 수 있듯 제어의 역전을 의미한다. 그렇다면 제어의 역전이 무슨 말일까? 보통 일반적인 프로그램을 작성할 때는 main 함수가 있어서 시작 부분을 자신이 컨트롤 할 수 있는데 프레임워크를 사용할 때는 main 함수에서 SpringApplication.run 을 해줄뿐 내가 작성한 코드는 따로 호출하지를 않는다. 처음 스프링 프레임워크를 사용했을때는 이 부분의 의아했었던 기억이 난다. 이 의아함을 해결해주는것이 바로 IoC 컨테이너이다. 생성하고 초기화 실행 소멸을 알아서 처리하는것이다. 어떤 요청이 들어왔을때 어떤 객체를 어떻게 조작할 것인가 를 대신 수행주는것이 이 컨테이너다. 개발자가 객체를 생성하고 작동하는 로..