Bean 빈

Bean이란?

스프링 IoC 컨테이너가 관리하는 객체
applicationContext가 담고있는 객체들만 Bean으로 만들수 있다

Bean으로 등록하는 방법

  • annotation을 활용하여 등록한다

  • @ComponentScannig : 빈 객체를 찾을 위치를 선언한다

    • @Component : 해당 애노테이션을 달아놓은 객체를 빈으로 갖는다
    • 이외에도 추가적인 방법 : @Repository, @Service, @Controller, @Configuration
  • 직접 일일히 XML이나 자바 설정 파일에 등록해서 할 수도 있다

코드

@Configuration
public class SampleConfig {

	@Bean // <- 아래서 생성하는 객체가 Bean임을 명시하는 애노테이션, 따라서 해당 클래스에 빈임을 암시하는 애노테이션을 명시할 필요가 없어진다
	public SampleController sampleController() {
		return new SampleController();
	}
}

@Controller <-- 필요없어진다
public class SampleController {

}

등록한 Bean을 사용하는 방법

  • ApplicationContext에 등록된 Bean을 직접 꺼내서 사용하는 방법
@Autowired
ApplicationContext applicationContext;

public void TestDI(){
	SampleController bean = applicationContext.getBean(SampleController.class);
}

@Autowired 또는 @Inject 사용하는 방법 Dependency Injection

  • @Autowired / @Inject를 붙이는 곳
    • 생성자
    • 필드
    • Setter

좋은 웹페이지 즐겨찾기