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 |