회원 컨트롤러에 의존관계 추가
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 {