반응형

'의존성 주입' 이라는 개념.

 

'의존성'이란 하나의 객체가 다른 객체 없이 제대로 된 역할을 할 수 없다는 것을 의미.

 

'주입'은 말 그대로 외부에서 밀어 넣는 것을 의미.

 

즉, 두 단어를 결합해서 본다면 '어떤 객체가 필요한 객체를 외부에서 밀어 넣는다'는 의미.

 

그렇다면 왜?? 외부에서 객체를 주입하는 방식을 사용하는가?

 

음식점을 예로 들어보면 쉽게 이해할 수 있다.

 

1. 식재료를 직접 구매하여 음식점을 운영한다.

- 식재료 구매도 신경쓰고, 음식점 운영도 신경 써야 한다.

 

2. 외부에서 식재료를 공급해주고 그걸 이용해서 음식점을 운영한다.

- 식재료 수급이 편이하고, 장사에만 집중할 수 있다.

 

2번 처럼 외부에서 주입 받는경우 개발에만 집중할 수 있게 되는 것이다.

 

스프링은 이러한 구조를 만들기 적합한 구조로 설계되어 있다. 스프링에서는 'ApplicationContext'라는 존재가 필요한 객체들을 생성하고, 필요한 객체들을 주입하는 역할을 해주는 구조이다. 따라서 개발자들은 기존의 프로그래밍과 달리 객체와 객체를 분리해서 생성하고, 이러한 객체들을 엮는 작업을 하는 형태의 개발을 한다. ApplicationContext가 관리하는 객체들을 빈(Bean) 이라고 부르고, 빈과 빈 사이의 의존관계를 처리하는 방식으로 XML 설정, 오노테이션 설정, Java 설정 방식을 이용할 수 있음.

반응형

+ Recent posts