스프링은 DI를 어떻게 처리할까? 다음의 그림을 살펴보자.개발자는 비즈니스 로직을 담은 빈(Bean)들을 POJO 형태로 작성한다. 개발자는 각 빈들을 어떻게 생성하고 has-a 관계를 맺어줄지에 대한 설명서인 메타정보를 작성해서 스프링 컨테이너에게 전달한다.스프링 컨테이너는 메타정보에 근거해 빈 객체를 만들고 setter/생성자를 호출해서 의존성을 주입한다.클라이언트 코드에서 컨테이너에게 빈을 요청하면컨테이너는 관리하고 있던 빈 객체를 반환해 준다.이런 DI를 처리하는 방식은 메타정보를 만드는 방식에 따라 명시적 DI와 묵시적 DI로 나뉜다. Java Config를 활용한 명시적 DI 명시적 DI명시적 DI란 빈을 생성하고 의존성을 주입하는 코드를 별도의 파일에 "이것은 빈입니다." 라고 작성해주는 것..
03. DI 처리 - 명시적 DI
스프링은 DI를 어떻게 처리할까? 다음의 그림을 살펴보자.개발자는 비즈니스 로직을 담은 빈(Bean)들을 POJO 형태로 작성한다. 개발자는 각 빈들을 어떻게 생성하고 has-a 관계를 맺어줄지에 대한 설명서인 메타정보를 작성해서 스프링 컨테이너에게 전달한다.스프링 컨테이너는 메타정보에 근거해 빈 객체를 만들고 setter/생성자를 호출해서 의존성을 주입한다.클라이언트 코드에서 컨테이너에게 빈을 요청하면컨테이너는 관리하고 있던 빈 객체를 반환해 준다.이런 DI를 처리하는 방식은 메타정보를 만드는 방식에 따라 명시적 DI와 묵시적 DI로 나뉜다. Java Config를 활용한 명시적 DI 명시적 DI명시적 DI란 빈을 생성하고 의존성을 주입하는 코드를 별도의 파일에 "이것은 빈입니다." 라고 작성해주는 것..
2020.06.16