Spring - IoC/DI

김재령·2022년 2월 28일
0

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개의 댓글