DI(Dependency Injection, 의존성 주입)
기존의 자바는 객체를 직접 만들어서 소유했는데, 이렇게 할 때 객체에 또 다른 클래스를 만들어 교체하고자 할 때 모든 소스를 변경해 다시 컴파일 해야 하는 문제점이 있었다. 이를 막기 위해 DI라는 개념을 도입했다.
Dependency Injection이란 프로그래밍에서 모듈간의 의존성을 모듈의 내부가 아닌 외부(컨테이너)에서 주입시켜주는 기능으로 , IoC(Inversion of Control, 제어의 역행)의 한 종류이다. 제어의 역행은 어떤 모듈이 사용할 모듈을 개발자가 결정하는 것이 아니라, 다른 모듈에게 선택권을 넘겨준다는 것을 의미한다. 외부에서 필요한 객체를 결정하기 때문에 개발자는 직접 연결 처리를 할 필요가 없고, 인터페이스를 이용해서 편리하게 개발할 수 있다.
의존성 주입에는 Constructor Injection과 Setter Injection 방식이 있다. (태그작성을 통한 방법만 설명하였지만 두 방법 모두 애노태이션을 이용해서 간단히 처리할 수도 있다.)
Constructor Injection(생성자를 이용한 의존성 주입)
Constructor Injection은 argument(전달 인자)를 갖는 생성자를 사용하여 의존성을 주입하는 방식이다.
Setter Injection
Setter Injection은 인자가 없는 기본 생성자를 사용해 객체를 생성한 후, setter 메소드로 의존성을 주입하는 방식으로,
'공부 > web' 카테고리의 다른 글
[MyBatis] '${필드명}'과 '#{필드명}' (0) | 2018.05.31 |
---|---|
tomcat 서버 포트충돌 시 강제로 종료시키기 (0) | 2018.05.02 |
STS를 사용해서 Spring project 만들기 (org.apache.maven.plugin.war.WarMojo error 해결방법) (0) | 2018.05.01 |
MVC패턴과 모델1, 모델2 구조 (0) | 2018.04.27 |
서블릿(Servlet)이란? (0) | 2018.04.26 |
댓글