Spring/스프링 입문

스프링 빈과 의존관계

mint* 2023. 1. 22. 21:37
728x90

어노테이션을 사용하면, 스프링 빈으로 자동 등록된다.

Spring이 시작할때 컨테이너에 가지고 들어온다.(컴포넌트 스캔)

Controller, Service, Repository

 

@Controller

 

@Autowired 사용하면 MemberController 생성시에 인자인 MemberService를 끌어와 자동으로 연결시켜준다.

 

@Service

MemberService를 스프링이 알 수 있도록 어노테이션을 붙여준다.

 

@Repository

구현체에 어노테이션 붙여주기.

 

 

스프링 빈 등록 이미지

 

 

 

 

@Autowired로 끌어온다.

 

  • 어노테이션으로 스프링이 끌어오려면 Application와 같은 패키지여야한다.

 

자바코드로 직접 스프링 빈 등록하는 방법

@Bean 어노테이션을 이용한다.

자바코드로 빈을 등록하면 스프링이 관리하지않는 빈도 따로 설정하여 관리할 수 있다.

데이터베이스를 바꾼다면 MemberRepository의 리턴값을 return new dbMembeerRepository로만 바꾸면 된다.

 

DI(의존성 주입)

필드 주입, setter 주입, 생성자 주입의 3가지 방법이 있다.

가장 권장되는 방법은 생성자 주입이다.

 

728x90