스프링 빈과 의존관계

Jimin·2022년 10월 9일
0

스프링 - inflearn

목록 보기
3/15
post-thumbnail

스프링 빈 등록 이미지

스프링 빈을 등록하는 두가지 방법

  1. 컴포넌트 스캔과 자동 의존관계 설정
  2. 자바 코드로 직접 스프링 빈 등록하기

컴포넌트 스캔과 자동 의존관계 설정

@Component
이 애노테이션이 붙어있으면 스프링 빈으로 자동 등록된다. ⇒ Container에 등록이된다.

@Autowired
이 애노테이션은 Controller → memberService → memberRepository 사이의 연관관계를 나타낸다.

@Component 를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록된다.

  • @Controller

  • @Service

  • @Repository

    스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 기본적으로 싱글톤으로 등록한다.
    (유일하게 하나만 등록해서 공유한다.)
    따라서 같은 스프링 빈이면 모두 같은 인스턴스이다.
    설정으로 싱글톤이 아니게 설정할 수 있지만, 특별한 경우를 제외하면 대부분 싱글톤을 사용한다.

    자바 코드로 직접 스프링 빈 등록하기

    @Configuration
    public class SpringConfig {
    
       @Bean
       public MemberService memberService() {
           return new MemberService(memberRepository() );
       }
    
       @Bean
       public MemberRepository memberRepository() {
           return new MemoryMemberRepository();
       }
    }
    
profile
https://github.com/Dingadung

0개의 댓글