자바 클래스간에 연결을 시켜주는 방법이 두가지가 있다. 즉, 스프링 빈을 등록하는 방식이 두가지 있다.
이번에는 component scan
에 대해 알아보자.
'hello.hellospring.service.MemberService' that could not be found.
와 같은 오류가 발생한다.
MemberService는 단순한 자바 클래스이기 떄문에 스프링에서 알 방법이 없다. 그래서 스프링이 알아볼 수 있도록 표시를 해야 하는데, 이를 component scan 이라고 한다.
MemberService 를 @Service 라고 해주면 된다.
또한 repository 를 @Respository 라고 해준다.
controller, repository, service 이렇게 구성되는 구조는 어느정도 스프링에서 정형화 되어 있다고 봐도 될 것 같다.
이렇게 annotation을 걸어주면 스프링이 알아차리고 컨테이너에 담고 있는다. 또한 여러 클래스를 연결하고 싶을 때, @Autowired 로 연결을 할 수 있다.
하지만, 서버를 구동하는 클래스 즉, HelloSpringApplication 이 속해있는 패키지 이하로만 annotation이 먹힌다.