스프링 프레임워크 5 입문 (3) - IoC 컨테이너

김민영·2023년 6월 18일
0

IoC 컨테이너로 Bean 객체 관리함

IoC 컨테이너

IoC

  • Inversion of Control : 제어의 역전
  • 객체에 대한 제어권을 개발자가 아닌 프레임워크가 가짐
    • 객체 생성, 기능 등등...
  • 개발자가 중요한 정보만 세팅하고, 프레임워크가 코드 동작 방식을 처리. 코드 동작 순서 결정
  • xml로 작성하는 방법, java 코드로 작성하는 방법이 있음

POJO Class

  • Plain Old Java Object : 자바 모델이나 기능, 프레임워크에 따르지 않고 홀로 독립적이며 단순한 기능을 가진 객체
  • Bean 이라고도 함
  • POPO(PHP), POCO(.net framework), PODS(C++), POD(Perl) 등

스프링 프레임워크의 IoC 컨테이너

  • Java POJO Class와 Metadata를 Spring container에 넣음
  • Application에 사용될 수 있도록 데이터를 반환

IoC 컨테이너 종류

  • BeanFactory
  • ApplicationContext

BeanFactory

  • 클래스로 객체 생성, 전달. 상속 등 객체간 관계 형성, 관리.
  • XmlBeanFactory
  • Bean에 관련된 설정을 위한 xml 파일 즉시 로딩. 객체는 개발자가 요구 시 생성.

ApplicationContext

  • 클래스로 객체 생성, 전달. 상속 등 객체간 관계 형성, 관리.
  • 국제화 지원 등 문자열 관련 다양한 기능 제공
  • 리스너로 등록된 Bean에 이벤트 발생시킬 수 있음
  • Bean에 관련된 설정을 위한 xml 파일은 즉시 로딩. 객체를 미리 생성해놓음
  • ClassPathXmlApplicationContext, FileSystmeXmlApplicationContext, XmlWebApplication

실습 - IoC 프로젝트

프로젝트 생성 및 기본 설정

  1. Maven 프로젝트 - simple 프로젝트 설정 체크하고 생성
  2. pom.xml 의 내용 추가 (이전에 설정했던 properties와 dependencies 정보) + 정렬 (Ctrl A -> Ctrl Shift F) + Maven Dependencies에 파일이 추가되었는지 확인
  3. src/main/java에 패키지 생성 - 패키지에 MainClass 생성
  4. src/main/java에 config 패키지 생성 - beans.xml 파일 추가 (이전에 작성한 내용) : bean에 대한 내용을 작성하는 파일
  5. src/main/java에 beans 패키지와 TestBean.java 클래스 생성

내용 작성

  1. beans.xml 파일에 bean 내용 작성
  • bean.xml 에 있는 내용을 바탕으로 bean을 만듦
  • BeanFactory 방식은 자동으로 객체가 만들어지지 않음.
  • ApplicationContext 방식은 bean.xml 을 읽는 것을 제어할 수 있음. 언제 읽을지.

기타

단축키

  • import 자동 생성: Ctrl Shift O
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글