Dependency Injection

Angelo·2021년 4월 30일
0

SPRING

목록 보기
33/34

DI, Depeendency Injection

의존성 주입. 하나의 객체가 다른 객체의 의존성을 제공하는 기술.

사용자에게 어떤 서비스를 사용할것인지 알려주는 것.

사용자가 어떤 서비스를 호출하려 할때 그 서비스 구성이 어떻게 되었는지 몰라야한다. 때문에 사용자가 어떤 서비스를 사용할지 찾는 것을 허용하는 대신에 서비스를 전달하는것이 패턴의 기본 요건.

이는 재사용성과 가독성을 높여주며 테스트에 용이하다.

public class Owner {
	private EmployeeType employee;
    
    public Owner() {
    	this.employee = new Employee();
        }
}
  • Owner 객체는 EmployeeType 객체(Employee)에 의존한다.
  • 주의 : EmployeeType 객체를 변경하게 되면 Owner의 객체도 변경된다. 하나의 모듈이 바뀌면 의존한 다른 모듈까지 변경되어야 한다.

의존성 주입 방법 :

  1. Contructor Injection, 생성자를 통한 주입
  2. Method(Setter) Injection, setter()를 통한 주입
  3. Field Injection, 멤버 변수를 통한 주입
profile
나만의 학습 노트

0개의 댓글