Spring | 어노테이션으로 DI 구현 | Bean 설정 클래스 생성

어노테이션 방식은 Bean 설정 파일을 사용하지 않고, Java의 클래스로 모두를 작성하는 방식이다. 결국은 Bean 설정 파일에 해당하는 클래스를 제공해야 한다.

그럼 Bean 설정 클래스를 만들어 보자. 지난번 이용한 MySpringApp 프로젝트를 그대로 이용한다. 이번에는 com.devkuma.spring 패키지에 “SampleBeanConfig"라는 클래스를 만들어 보자. 아래에 소스 코드를 올려 두었으므로, 그것을 참고로 기술를 하길 바란다.

package com.devkuma.spring;
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
@Configuration
public class SampleBeanConfig {
     
    @Bean
    public SampleBeanInterface sampleBean() {
        return new SampleBean("설정 클래스에서 만든 인스턴스입니다.");
    }
 
}

Bean 설정 클래스도 보면 알 수 있듯이 간단한 POJO 클래스로 정의된다. 다만, 2 개의 어노테이션이 기술되어 있다.

@Configuration
이것은 클래스 선언 앞에 기술한다. 이 어노테이션은 해당 클래스가 Bean의 설정을 할 것이라는 것을 나타낸다. Bean 설정 클래스는 항상 이것을 붙인다.

@Bean
Bean을 작성하는 메소드 앞에 기술한다. 이것을 기술하면 그 메소드를 Bean 인스턴스 생성을 위한 것으로 인식한다. 이것을 붙인 메소드는 반드시 Bean 인스턴스를 반환 값으로 지정해야 한다.

이번에는 SampleBeanInterface 인스턴스를 Bean으로 생성하기 위한 설정 클래스를 정의하고 있다는 의미가 된다.