Constructor Injection

  • 출처
  • 스프링에서 injection을 하는 방법으로는 setter injection과 constructor injection이 있다.
  • 스프링에서는 Constructor Injection으로 코딩하는것을 권고하고 있다.

왜 Constructor Injection인가?

  • 컨테이너에 구속받지 않고 의존성 요구를 확고히 할 수 있다.
  • 생성자 인자로 의존성을 받게되는 클래스는 그 인자가 제공되어야만 인스턴스로 만들 수 있다.
  • 이건 Spring을 하든 안하든 상관없이 의존성 요구를 컨테이너 독립적으로 해야한다.
  • Setter Injection을 사용하게 되면 setter가 반드시 호출되도록 하기 위해서 @Required나 @Autowired를 사용해야 하는데 이 방법은 스프링에서 제공하는것으로써 컨테이너에 구속됩니다.

권장 방식

Written on January 27, 2018