스프링 입문 - 스프링 빈과 의존관계
스프링 빈
@Controller: 스프링이 돌 때 스프링이 객체를 생성해서 들고 있음. 이를 스프링 컨테이너에서 스프링 빈이 관리된다라고 표현한다.
- 컴포넌트 스캔: @Controller, @Service, @Repository가 붙어있는 클래스를 찾아서 스프링 컨테이너에 스프링 빈으로 등록한다.
스프링은 빈을 등록할 때 싱글톤으로 유지한다.
- 설정파일: Config 파일을 생성하여 @Bean 어노테이션으로 객체를 스프링 컨테이너에 등록한다.
의존주입(Dependecy Injection)
- 필드주입
- setter 주입
- 생성자 주입(권장)
스프링 빈에 등록된 객체만 @Autowired로 가져올 수 있다. 직접 생성한 객체에서는 동작하지 않는다.