Free Lines Arrow
본문 바로가기
Spring/spring 기초 스터디

[Spring] AppConfig에 Spring 적용해보기

by skahn1215 2021. 4. 24.
728x90
반응형

AppConfig에 Spring적용해보기

더많은 내용들이 있지만 조금씩 정리해보기로 한다.

 

필수 개념

@Configuration?

설정정보를 지정한다 해당 어노테이션이 있는 클래스에서 빈을 등록하겠다는 의미이다.

 

@Bean

어노테이션이 있는 메소드를 bean으로 등록하겠다는 의미다

즉 이제부터 스프링 컨테이너에서 관리하겠다는 의미.

 

 

 

 

사용방법

AppConfig예제

@Configuration //해당 클래스에서 빈을 등록하겠다는 의미
public class AppConfig {

    @Bean //스프링 컨테이너에 등록
    public OrderService orderService() {
        return new OrderServiceImpl(new MemberMemoryRepository(), discountPolicy());
    }
}

여기서 중요한 포인트 들이 있다.

1. 컨테이너에 등록시 이름으로 등록되는데 해당 이름은 메소드 이름이다.

2. orderService 라는 이름으로 등록이 됨다.
3. Key 와 value로 저장된다. KEY: memberService, value: 객체

 

 

 

 

스프링 사용해서 객체 가져오기 예제

public static void main(String[] args) {
        
        // Appconfig에서 생성된 memberservice를 가져온다.
        //AppConfig appConfig = new AppConfig();
        //OrderService orderService = appConfig.orderService();
        
        //스프링 생성 appconfing 클래스를 넣어주면됨
        ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);

        //스프링을 이용했으니 이제 applicationContext통해서 클래스를 찾아오면된다.
        // 찾을이름, 타입.
        OrderService orderService = applicationContext.getBean("orderService", OrderService.class);

}

 

1. ApplicationContext 로 스프링을 생성해 준다 생성시 AppConfig를 파라미터로 넘겨준다.

2. applicationContext.getBean("orderService",OrderService.class);

    - applicationContext.getBean("등록된 메서드 이름", 반환타입.);

 

 

다음에는 좀더 많은 내용들을 다뤄 보겠습니다.

728x90
반응형

'Spring > spring 기초 스터디' 카테고리의 다른 글

[Spring] Spring Bean 값 조회 하기  (0) 2021.04.28
[Spring] Spring container 와 Spring bean  (0) 2021.04.25
[Spring] AppConfig  (0) 2021.04.20
[Spring] DI 란?  (0) 2021.04.17
[Spring] 스프링 프로젝트 시작하기  (0) 2021.04.14

댓글