SPRING

ApplicationContext(스프링 컨테이너)가 작동하는 과정

silver-w 2024. 12. 22. 20:04

 

(1) 스프링 컨테이너는 @Configuration이 붙은 클래스를 설정(구성) 정보로 사용한다.

외부 @Configuration으로 등록된 클래스에서 @Bean 으로 객체정보를 스프링 컨테이너에 등록.

이렇게 등록된 객체를 스프링 빈이라고 한다.

※ 스프링 빈은 @Bean 이 붙은 메서드의 이름을 스프링 빈의 이름으로 사용한다. (아래는 getDiscountPolicy가 스프링 빈 이름이 된다) @Bean(name="abc") 와 같이 셋팅할 수 있지만, 관례상 디폴트 네임을 사용한다.

@Configuration  // 구성 정보(설정 정보)
public class AppConfig {
    @Bean	// 스프링컨테이너에 등록
    public static DiscountPolicy getDiscountPolicy() {
        return new RateDiscountPolicy();
    }
}

 

(2) 필요한 스프링빈을 applicationContext.getBean으로 찾아서 사용한다.

public class MemberApp {

    public static void main(String[] args) {
        ApplicationContext applicationContext 
        	= new AnnotationConfigApplicationContext(AppConfig.class);
        
        MemberService memberService
        	= applicationContext.getBean("memberService", MemberService.class);
            // Configuration으로 선언된 클래스에서 memberService메서드 명을 찾는다
	}
}

 

 

출처 : https://inf.run/kCYMv

 

스프링 핵심 원리 - 기본편 강의 | 김영한 - 인프런

김영한 | 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보

www.inflearn.com