4. [스프링 입문] - 스프링 빈과 의존관계

김여은·2023년 5월 3일
- 컴포넌트 스캔과 자동 의존관계 설정
- 자바 코드로 직접 스프링 빈 등록하기

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

회원 컨트롤러에 의존관계 추가

package hello.hellospring.controller;
import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@Controller
public class MemberController {
 private final MemberService memberService;
 @Autowired
 public MemberController(MemberService memberService) {
 this.memberService = memberService;
 }
}

memberService가 스프링 빈으로 등록되어 있지 않다.

스프링 빈을 등록하는 2가지 방법
🔸컴포넌트 스캔과 자동 의존관계 설정
🔸자바 코드로 직접 스프링 빈 등록하기

컴포넌트 스캔 원리
🔸@Component 애노테이션이 있으면 스프링 빈으로 자동 등록된다.
🔸@Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문이다.

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

회원 서비스 스프링 빈 등록

@Repository
public class MemoryMemberRepository implements MemberRepository {
profile
Seize the day.🍀

0개의 댓글