스프링에서 의존성 주입(DI)이란, 객체간 의존성을 개발자가 객체 내부에서 직접 호출(new연산자)하는 대신, 외부(스프링 컨테이너)에서 객체를 생성해서 넣어주는 방식이다. 스프링에서는 3가지 방법의 의존성 주입방법이 있다.
스프링 팀에서는 생성자 주입을 권장한다.
1.생성자 주입
@Controller public class Controller{ private Service service; @Autowired public Controller(Service service){ this.service = service; } }
2.필드주입
@Controller public class Controller{ @Autowired private Service service; }
3.setter 주입
@Controller public class Controller{ private Service service; @Autowired public setService(Service service){ this.service = service; } }
스프링생성자 주입을 권장하는 이유