Spring Core - ApplicationContext

iseon_u·2022년 6월 25일
0

Spring

목록 보기
19/33
post-thumbnail

ApplicationContext


AppConfig - Spring

@Configuration
@Bean

@Configuration
public class AppConfig {

		@Bean
		public MemberService memberService() {
				return new MemberServiceImpl(memberRepository());
		}

		@Bean
		public MemberRepository memberRepository() {
				return new MemoryMemberRepository();
		}
}
  • AppConfig 설정 정보에 @Configuration 어노테이션 작성
  • AppConfig 각 메서드에 @Bean 작성
    • 스프링 컨테이너에 객체 생성 후 관리 대상
    • 기본적으로 메서드 이름으로 등록된다.

스프링 컨테이너 ApplicationContext

public class MemberApp {

		public static void main(String[] args) {

				ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
				MemberService = applicationContext.getBean("memberService", MemberService.class);
		
		}
}
  • ApplicationContext 를 스프링 컨테이너라고 한다.
  • 기존에는 AppConfig를 사용해서 직접 객체 생성하고 DI
  • 스프링을 사용하면 스프링 컨테이너를 통해서 사용한다.
  • 스프링 컨테이너는 @Configuration 이 붙은 AppConfig 를 설정 구성 정보로 사용
  • @Bean 이 적힌 메서드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록
  • 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다.
  • 스프링 빈은 @Bean 이 붙은 메서드 명을 스프링 빈의 이름으로 사용
  • 기존에는 개발자가 필요한 객체를 AppConfig 를 사용해서 직접 조회
  • 스프링을 사용하면 스프링 컨테이너를 통해서 필요한 스프링 빈 (객체) 를 찾아야 한다.
    • applicationContext.getBean() 메서드 사용
profile
🧑🏻‍💻 Hello World!

0개의 댓글