DI 와 IoC

ServletJDBC 2015. 7. 20. 18:24

DI 와 IoC ?

DI와 IoC는 스프링의 엄청 중요한 개념이라고 하는데, 아직 스프링에 대해서 자세히 알지는 못 하고 있기 때문에 우선

서블릿 프로그래밍에서 DI와 IoC의 개념을 이해 할 수 있는 예를 보면서 DI와 IoC에 대해서 설명해보겠다.


우리는 MVC 아키텍처를 구성하기 위해서는 모델 부분을 처리하는 DAO(Data Access Object)를 만들었다. 

하지만 이 DAO클래스는 서블릿이 아니다. DAO는 httpServlet 클래스를 상속하고 있지 않기 때문이다.

그래서 ServletContext를 사용 할 수 없다. 그러므로 당연히 DB의 커넥션 정보를 가져 올 수가 없다. 

이 문제를 해결하기 위해 Connection 객체를 주입 받기 위한 셋터 메서드와 인스턴스 변수를 준비해야 한다!


Connection conn;
 
public void SetConnection(Connection connection){
    this.connection = connection;
}
cs


이렇게 작업에 필요한 객체를 외부로부터 주입 받는 것을 

"의존성 주입(DI , Dependency Injection)" 이라고 한다. 

다른 말로 "역제어(IoC, Inversion of Control)" 라고도 부른다.



'ServletJDBC' 카테고리의 다른 글

프런트 컨트롤러(Front Controller)  (0) 2015.08.05
DB커넥션풀 - DB Connection Pool  (0) 2015.07.20
DAO - Data Access Object  (0) 2015.07.20
서블릿 데이터 보관소  (0) 2015.07.20
JSP 프리컴파일  (0) 2015.07.20
Posted by slender ankles
,