@Configuration에서 @Bean 메서드에서 의존주입 형태

도도·2023년 3월 22일
0

SPRING

목록 보기
6/14

@Configuration 클래스는 스프링 애플리케이션 컨텍스트에 빈으로 등록될 수 있으며, @Bean 어노테이션이 적용된 메서드를 통해 빈을 생성할 수 있습니다.

@Bean 메서드에서 의존주입을 할 수 있는 방법에는 다음과 같은 형태가 있습니다.

생성자 주입(Constructor Injection)

@Autowired 어노테이션을 생성자 파라미터에 적용하여 의존하는 빈을 주입받는 방식입니다.

@Bean
public SampleBean sampleBean(DependencyBean dependencyBean) {
    return new SampleBean(dependencyBean);
}

Setter 주입(Setter Injection)

@Autowired 어노테이션을 적용한 setter 메서드를 통해 의존하는 빈을 주입받는 방식입니다.

@Bean
public SampleBean sampleBean() {
    return new SampleBean();
}

@Autowired
public void setDependencyBean(DependencyBean dependencyBean) {
    sampleBean().setDependencyBean(dependencyBean);
}

필드 주입(Field Injection)

@Autowired 어노테이션을 필드에 직접 적용하여 의존하는 빈을 주입받는 방식입니다.
🚨 이 방식은 일반적으로 권장되지 않으며, 테스트 등 특정 상황에서만 사용됩니다.

@Bean
public SampleBean sampleBean() {
    SampleBean sampleBean = new SampleBean();
    sampleBean.setDependencyBean(dependencyBean);
    return sampleBean;
}

@Autowired
private DependencyBean dependencyBean;
profile
공부한것 정리하는 중입니다~

0개의 댓글