우주먼지
article thumbnail

💡 스프링 빈과 의존관계

회원 컨트롤러가 회원서비스의 회원 레포를 사용할 수 있게 의존관계를 준비하자.

스프링은 스프링 컨테이너에 스프링빈을 등록할때 싱글톤으로 등록함(하나만 등록해서 공유함)

 

스프링 빈 의존관계 설정 2가지 방법

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

 

컴포넌트 스캔 & 자동 의존관계 설정 방법

  • @Component 에노테이션이 있으면 스프링 빈에 자동 등록됨
  • @Component를 포함하는 @Controller, @Service, @Repository도 스프링 빈에 자동 등록 됨
  • 메인 클래스의 위치 밑에있는 패키지들은 컴포넌스 스캔을 하지만,
    상위에 있는 디렉터리 등은 컴포넌트 스캔을 하지 않음

 

controller - MemberController Class 생성
컨트롤러의 생성자에 Autowired를 사용해 서비스와 연결
순수 자바 클래스인 멤버서비스에 @Service,@Autowired 어노테이션을 붙여준다
@Repository 어노테이션을 붙여준다

위의 동작은 컨트롤러 - 서비스 - 레포 의 정형화된 패턴임

멤버 컨트롤러가 생성될때 스프링빈에 등록된 멤버 서비스 객체를 넣어줌 = Defendency Injection = 의존관계 주입

 

profile

우주먼지

@o귤o

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그