Spring - IoC/DI

김재령·2022년 2월 28일

SpringFramework

목록 보기
2/12

IOC : Inversion Of Control(제어역전)

말 그대로 메소드나 객체의 호출 작업을 개발자가 결정하는 것이 아니라 외부에서 결정되는 것을 의미한다 == 제어의 흐름을 바꾼다

기존

1.객체생성
2.의존성 객체 생성
클래스내부에 생성
3.의존성 객체 메소드 호출

↓

Spring

1.객체생성
2.의존성 객체 주입
스스로 만드는 것이 아니라 제어권을 스프링에 넘겨 스프링이 만들어 놓은 객체를 주입한다.

3.의존성 객체 메소드 호출

스프링이 모든 의존성 객체를 스프링이 실행될 대 다 만들어주고 필요한곳에 주입시켜줌으로써 Bean들은 jsp에서의 싱글톤 패턴의 특징을 갖는다

Dependency Injection(의존 관계 주입)

객체를 직접 생성하는 것이 아니라
외부에서 생성한 후 주입시켜 주는 방식 - pom.xml

<context:component-scan base-package="com.itbank.service" />
<context:component-scan base-package="com.itbank.mail"/> 
<context:component-scan base-package="com.itbank.chat"/>
<mybatis-spring:scan base-package="com.itbank.model" />  
  • 모듈간 결합도↓
  • 모듈간 유연성↑

스프링에서는 객체를 Bean이라고 부르며, 프로젝트가 실행될때 사용자가 Bean으로 관리하는 객체들의 생성과 소멸에 관련된 작업을 자동적으로 수행해주는데 객체가 생성되는 곳을 스프링에서는 Bean 컨테이너라고 부른다.

profile
with me

0개의 댓글