728x90
반응형
IoC (Inversion of Control)
일반적인 제어권 : 내가 사용할 의존성을 내가 만든다. 컨트롤러 안에서 다하는것.
IoC: 내가 사용할 의존성을 누군가 알아서 주겠지. 의존성을 컨트롤러 밖에서 하는것. DI 도 일종의 IoC임.
Bean : 스프링 IoC컨테이너가 관리하는 객체
IoC: 스프링 IoC컨테이너가 의존성을 자동으로 주입.
IoC컨테이너 : 빈을 엮어주고, 제공해줌.
의존성 주입은 IoC컨테이너 안에 있는 빈(객체) 안에서만함, IoC컨테이너 안에 있는 빈을 가져온다.
Controller controller = new Controller(); -> 빈 아님
Controller controller = ApplicationContext.getBean(Controler.class); -> 빈임
빈을 만드는 방법
- 컴포넌트 스캔(Component Scan이 위치 지정(@SpringBootApplication 의 하위 패키지)하고, @Controller 같은 애노테이션을 찾아서 빈으로 등록함.
- 빈으로 직접 등록하는 방법 -> 아래처럼 @Configuration, @Bean을 이용한다.
@Configuration
public class SampleConfig {
@Bean
public SampleController sampleController(){
return new SampleController();
}
}
반응형
'Dev > Backend' 카테고리의 다른 글
OpenCv Java with + Spring (0) | 2020.01.23 |
---|---|
Spring PSA(Portable Service Abstraction) (0) | 2019.10.22 |
Spring AOP(Aspect Oriented Programming) (0) | 2019.10.22 |
Mybatis에서 꺽쇠( < 또는 >) 쓰는 법 (0) | 2019.07.20 |
Error configuring application listener of class org.springframework.web.context.ContextLoaderListener (0) | 2019.07.20 |