반응형 DI2 [Spring] 왜 Constructor Injection(생성자 주입)을 사용해야 할까? 왜 Constructor Injection(생성자 주입)을 사용해야 할까? 이전 포스팅에서 Field Injection, Setter Injection 대신 Constructor Injection을 사용해야한다고 했는데 어떤 장점이 있어서 사용해야 하는지 알아보자. 1. Constructor Injection(생성자 주입) public class SpellChecker { private TextDictionary textDictionary; private VoiceDictionary voiceDictionary; @Autowired //4.3부터 단일 생성자일 경우 @Autowired 생략가능 public SpellChecker(TextDictionary t, VoiceDictionary v) { thi.. 2019. 11. 6. [Spring] Spring은 DI를 어떻게 지원할까? Spring은 DI를 어떻게 지원할까? Spring하면 POJO, IOC/DI, AOP, PSA 를 특징으로 갖는 프레임워크라고 한다. 그 중 Spring에서는 DI를 지원하기 위해 IOC를 사용한다. IOC(Inversion of Control)이란? 개발자가 프로그램의 흐름을 제어하지 않고 프레임워크가 프로그램의 흐름을 주도하는 것을 말한다. 스프링에선 이 개념을 Spring DI 컨테이너를 이용해 빈 생명주기 관리, 의존성 주입 등을 도맡아 처리한다. * IOC 컨테이너라고도 하는데 IOC가 내포하는 범위가 너무 넓어 DI 컨테이너라고 부른다고 한다. Spring DI 컨테이너가 DI를 제공하는 방법 DI 컨테이너가 DI를 제공하는 방법엔 @Autowired 어노테이션을 붙히는 방법, XML에 Be.. 2019. 11. 6. 이전 1 다음 반응형