스프링 어노테이션 정리

annmj·2021년 11월 23일
0

자바

목록 보기
1/1

@Configuration , @Bean


  • line 1 : 스프링 전체 설정 정보를 담당하는 뜻의 어노테이션
  • line 4 : 각 메서드에 적어주어야 하고, 이렇게 하면 memberService , memberRepository, orderService , discountPolicy 들이 스프링 컨테이너에 등록이 된다.

  • line 4 : @Configuration 이 붙은 AppConfig 클래스를 읽는다.
  • line 5 : ac (applicationContext 를 줄여서 나타냄) 에서 memberService 라는 이름을 가진 bean 을 꺼낸다.

  • member 앱을 실행하고 나면,
  • spring framework 를 통해서 bean 이 생성되었음을 알 수 있다.

정리

  • ApplicationContext 를 스프링 컨테이너 라고 한다.

  • 스프링 컨테이너에게 환경정보를 던져주면, 스프링 컨테이너가 그것을 관리한다.

  • 기존에는 개발자가 AppConfig.class 를 사용해서 객체를 생성하고 DI 를 했지만, 스프링 컨테이너를 통해서 사용한다.

  • 스프링 컨테이너는 @Configuration 이 붙은 AppConfig 를 설정(구성) 정보로 사용한다. 여기서, @Bean 이 붙은 메서드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록한다. 이렇게 스프링 컨테이너에 등록된 객체를 스프링 빈이라 한다.

  • 스프링 빈 은 @Bean 이 붙은 메서드 명을 이름으로 사용한다.

    • 스프링 빈을 찾을 때에는 applicationContext.getBean() 메서드를 사용해서 찾을 수 있다.

    • 이름을 바꿀 수도 있다. 특별한 경우가 아니면 그냥 관례를 따르자.

    • 참고

      @Bean(name = "abc")
      public MemberService memberService() {
      ...
      }

profile
차근차근

0개의 댓글