본문 바로가기
Spring

[스프링 프레임워크] Spring core 중 DI와 IOC

by Jann 2021. 10. 19.
728x90

스프링 프레임워크의 목표

- 엔터프라이즈 서비스를 보다 쉽게 구축할 수 있다. // 경량, 호환성(lib), 메시지 전송 등이 원할하기 때문이다. 

- 의존성 주입을 통한 유연한 프레임워크 구현할 수 있다. 

- "클래스, 상속, 다형성" 자바의 특징  + Springbean.xml : 뉴연산자 X, 메모리에 올려진 참조형으로 사용 beans 안에 bean 태그 알아서 참조해서 사용할 수 있게 해주겠다, xml 의존해라

- 관점지향 프로그래밍(Aspect oriented Programming)지원

// 'AOP 공통영역/ 핵심영역' 에노테이션 제공 e.g. before/ after , 한국에서는 AOP 대신 DI를 더 사용한다.

- Application의 완전한 이식성을 제공한다.

- 반복적인 코드 사용을 줄인다. // 동적바인딩 코드를 <bean>의 속성으로 대체하기 때문이다.

 

스프링의 특징 중 DI & IOC 

Spring Core 중

- DI (Dependency Injection) : 의존성 주입

: 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입으로 객체를 직접 생성하는 방식이 아니라, 외부에서 생성한 후 주입 시켜주는 방식이다. 

 

- IOC(Invercion Of Control) : 제어 역행화

: 제어가 일반적인 흐름을 따르지 않고, 반대로 흘러간다는 뜻으로 프로그램이 가지고 있던 구현 객체에 대한 정보를 외부, 프레임워크에서 관리한다.  최근에는 DI라는 용어를 더 많이 사용한다.

 

DI & IOC 활용을 통해 의존성을 역전시켜 객체 간의 결합도는 줄이고, 유연한 코드를 작성해 코드 중복을 줄이고, 유지 보수를 편하게 할 수 있다는 특징이 있다.

 

 

728x90

댓글