개발일기장

Spring 공부 01. Configuration, Bean 본문

Spring Boot

Spring 공부 01. Configuration, Bean

게슬 2023. 6. 28. 21:54
728x90
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

이거 사용해서 Config 를 등록 할 수 있다.

ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);

그래서 이거를 사용하면 등록한 것들을 소환? 할 수 있는데

    @Bean
    public MemberRepository memberRepository(){
        return new MemoryMemberRepository();
    }

이렇게 등록을 해두면 어떻게 소환을 하느냐

// 1
MemberService memberService = applicationContext.getBean(MemberService.class);

// 2
MemberService memberService = applicationContext.getBean("memberService",MemberService.class);

이렇게 불러올 수 있음.

 

    @Bean("ooo")
    public OrderService orderService(){
        return new OrderServiceImpl(memberRepository(),discountPolicy());
    }

저거 Bean에 대해서 직접 이름을 설정 할 수도 있는데. 이렇게 해두면

OrderService orderService = applicationContext.getBean("ooo",OrderService.class);

이렇게 불러 올 수도 있다.


@Configuration​

근대 Class에 이거를 등록안해주고

@Bean

Method에 Bean만 등록해주면 컨테이너에서 만들어서 주긴 하지만 싱글톤을 유지해주지 못함. 

728x90

'Spring Boot' 카테고리의 다른 글

Spring 공부 05. Bean Life Cycle  (0) 2023.07.10
Spring 공부 04. 의존관계주입  (0) 2023.07.05
Spring 공부 03. @Bean주입  (0) 2023.07.04
Spring 공부 02. 스프링 컨테이너  (0) 2023.07.01
MyBatis - Spring 설정  (0) 2022.06.02
Comments