
DI란? 의존성 주입이라는 어려운 단어보다는 부품 조립이라는 단어로 생각하는 게 더 편하다고 필자는 생각한다. 의존성 주입 방식으로는 두 가지가 존재하는데 일체형과 조립형이 존재한다. 일체형 예시 class A{ B b(); A(){ b = new B(); } } A a = new A(); 이런 식으로 A객체를 만듬으로써 B객체가 자동으로 생성된다. 조립형 예시 class A{ B b(); public void setB(B b){ this.b=b; } } B b = new B(); 부품(dependency) A a = new A(); a.setB(b); 부품 주입 (dependency Injection) 조립형은 외부에서 B라는 객체를 만들고 A에 주입해주는 방식이다. 스프링에서는 두 번째, 즉 조립형 ..
컨테이너? - 인스턴스의 생명주기를 관리하며, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는것. - 코드의 처리과정을 위임받은 독립적인 존재. - 컨테이너는 적절한 설정만 되어있다면 누구의 도움없이도 프로그래머가 작성한 코드를 스스로 참조한 뒤 알아서 객체의 생성과 소멸을 컨트롤 해준다. 스프링 컨테이너 종류 BeanFactory 빈 객체를 생성하고 관리하는 클래스. Bean 자체가 필요하기 전까지 인스턴스화 하지 않는다(Lazy Loading) ApplicationContext BeanFactory와 비슷하지만 추가적인 기능을 제공 - 국제화가 지원되는 텍스트 메시지를 관리 - 이미지 같은 파일 자원을 로드 할 수 있는 포괄적인 방법을 제공 - 리스터로 등록된 빈에게 이벤트 발생을 알려준다.