[Spring] 스프링 핵심 원리 기본편 - 섹션 7~8
·
Spring
컴포넌트 스캔지금까지 살펴본 방법은 @Bean 을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다. 이는 개발자 입장에서 매우 귀찮은 작업이다. 때문에 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다.컴포넌트 스캔컴포넌트 스캔을 사용하려면 @ComponentScan 애노테이션을 설정 정보에 붙여주면 된다.@Configuration@ComponentScanpublic class AutoAppConfig {}기존 설정 정보와 다르게 @Bean 을 통해 직접 등록한 스프링 빈이 하나도 없어도, 컴포넌트 스캔을 통해 @Component 애노테이션이 붙은 클래스를 스캔해서 자동으로 스프링 빈으로 등록한다. 이때, basePackages라는 속성을 통해 탐색할 패..
[Spring] 스프링 핵심 원리 기본편 - 섹션 4~6
·
Spring
제어의 역전과 의존관계 주입IoC (Inversion of Control)스프링과 같은 프레임워크를 사용할 때를 생각해보자. Controller, Service 같은 객체들의 동작을 우리가 직접 구현하기는 하지만, 해당 객체들이 어느 시점에 호출될 지는 신경쓰지 않는다. 단지 프레임워크가 요구하는대로 객체를 생성하면, 프레임워크가 해당 객체들을 가져다가 생성하고, 메서드를 호출하고, 소멸시킨다. 프로그램의 제어권이 역전된 것이다. 즉, 어플리케이션 코드에 작성한 객체들을 프레임워크가 필요한 시점에 가져다가 프로그램을 구동하기 때문에 프로그램의 제어권이 프레임워크로 역전된다. 이처럼, 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 제어의 역전(IoC)라 한다.DI (Depende..