DI(Dependency Injection)


번역을 하면 '의존 주입' 이다. 이 단어를 이해하기 위해선 '의존' 이라는 단어의 뜻을 알아야한다.

네이버에 의존 을 검색하면

이렇게 나온다.

 

이 뜻을 Spring의 관점으로 해석하면  A클래스가 B클래스의 메소드를 실행한다. 로 정의할 수 있다.

 

다음은 코드의 예시이다.

//MemberDTO : 사용자 정보를 저장하는 객체
//MemberDao : 사용자 정보를 저장하기 위해 DB와 연결하는 클래스
public class MemberRegisterService{

    private MemberDao memberDao;
    
    ...
    public void regist(MemberDTO memberDTO){
    	memberDao.regist(memberDTO); 
    }
    ...
}

회원가입을 처리하는 코드이다. 

MemberRegisterService 클래스는 MemberDao 객체의 regist 메소드를 이용해 DB에 사용자 정보를 저장한다.

여기서 눈여겨볼 점은 MemberRegisterService 클래스가 사용자 정보를 저장하기 위해 MemberDao 클래스를 사용한다는 점이다. 

이렇게 한 클래스(MemberRegisterService)가 다른 클래스(MemberDao)의 메소드를 실행하는 것을 '의존' 이라고 한다.

 

특히 웹 개발에 흔히 사용하는 Spring MVC 패턴은 Model / View / Controller로 기능별로 구분을 해놓은 디자인 패턴

이기 때문에 Spring MVC 패턴을 이용해 웹페이지를 만들 때 의존성 주입은 거의 필수적라고 할 수 있다.

 

 

-틀린 내용 피드백은 언제나 환영합니다-😊

'Spring 개발..' 카테고리의 다른 글

HttpSession 값 가져오기(Object 객체)  (0) 2021.12.14

+ Recent posts