본문 바로가기
Spring

[Spring] IoC 와 Bean

by Apère 2023. 2. 14.
반응형

Spring에서 Bean이란 Spring IoC 컨테이너에서 관리하는 자바 객체를 의미합니다.

 

일반적으로 Bean을 생성하는 방법은 아래 두가지가 있습니다

 

1) 직접 Bean 등록방법

@Configuration
public class TestConfiguration {
    @Bean
    public Test test() {
        return new Test();
    }
}

 

2) Component Scan을 이용한 Bean 등록 

import org.springframework.stereotype.Component;

@Component
public class Test {
}

위의 두번째 방법을 이용할때 @Controller, @Service, @Repository 등의 어노테이션도 Bean으로 등록됩니다. 그 이유는 해당 어노테이션에 @Component가 포함되어 있기 때문입니다.

 

그렇다면 IoC는 무엇을 의미할까요? IoC(Inversion of Control)란 그대로 제어의 역전 이라는 의미를 가지고 있습니다. 여기서 말하는 제어는 객체의 생성이나 생명주기를 관리하는것을 말합니다.

 

따라서 IoC는 이런 제어 주도권을 개발자가 가지고 있는게 아닌 외부에서 처리하는것을 말합니다. Spring에서 IoC의 개념을 적용하여 Spring IoC컨테이너가 이 제어 주도권을 갖고 있습니다.

 

 

 

 

 

 

반응형

댓글