2. Spring Maven & 3. IoC컨테이너와 DI

** T아카데미의 Spring Framework Basic 강의를 들으면서 공부한 것을 정리했다.

2. Spring Maven

  • IDE : STS 사용
  • Maven
    • 라이브러리 관리 + 빌드(compile해주고, jar로 묶어주고, 배포) 툴
    • Maven 사용 이유
      • 편리한 dependent library 관리
      • 모든 프로젝트의 빌드 프로세스를 일관되게 처리 가능
    • 사용방법 : pom.xml(Project Object Model) 파일의 <dependency /> 태그 안을 설정해주면 maven repository로 가서 해당 jar 파일을 가져와서 자동으로 빌드해준다.



3. Spring framework에서의 IoC컨테이너와 DI

  • IoC 컨테이너로서의 Spring framework
    • 객체의 생성을 책임지고 의존성 관리
    • POJO 생성, 초기화, 서비스, 소멸에 대한 권한을 컨테이너가 맡음
  • IoC의 분류
    • DL : Bean에 접근하기 위해 컨테이너가 제공하는 api를 이용, 종속적
    • DI : 빈 설정 정보(xml, annotation)를 바탕으로 컨테이너가 자동으로 의존관계 주입시켜서 런타임시에 동적으로 연결해줌. 종속성이 없기 때문에 많이 사용됨.
      • Setter Injection : setter메소드로 의존관계 주입
        • beans.xml에서 <property />이용
      • Constructor Injection : 생성자로 의존관계 주입
        • beans.xml에서 <constructor-arg />이용
      • Method Injection : 메소드로 의존관계 주입
  • DI 컨테이너로서의 Spring framework
    • DI 컨테이너가 관리하는 객체 = bean
    • bean들을 관리한다는 의미로 컨테이너를 BeanFactory라고 부름
    • BeanFactoryApplicationContext가 Spring DI 컨테이너 역할을 함
      • BeanFactory : Bean을 등록, 생성, 조회, 반환 관리
      • ApplicationContext : BeanFactory에 부가 기능을 추가로 제공


Comments