화화면을 붙이고싶은데, 컨트롤러랑 뷰 템플릿 필요해. 회원가입하고 회워ㄴ가입한거를 화면에 뿌려주고 그럴려면?
멤버 컨트롤러를 만들어야하는데, 이 멤버 컨트롤러가 멤버 서비스를 통해서 회원가입, 데이터 조회가 가능해야해. 그런거를 서로 의존관계가 있다고 표현해. 멤버 컨트롤러가 멤버 서비스를 의존한다고 해.
스프링 스럽게 그 작업을 해보겠다
멤버 컨트롤러를 만들어볼게요
main/java/hello.hellospring/controller/MemberController 클래스 생성
package hello.hellospring.controller;
import org.springframework.stereotype.Controller;
@Controller
public class MemberController {
}
스프링 첨에 뜰때 스프링 컨테이너라는 통이 생겨. 거기에 이 컨트롤러라는 애노테이션이 있으면 이 멤버 컨트롤러라는 객체를 생성해서 스프링에 넣어두고 관리하게됨
그게 어떤 그림? 이전에 헬로컨트롤러기억나? 컨트롤러라는 애노테이션을 보고 스프링이 뜰때 객체를 생성해서 스프링이 딱 들고있음. 이거를 컨테이너에서 스프링 빈이 관리된다고 표현을해
MVC와 템플릿엔진할때 보시면,
스프링부트안에 컨테이너, 그 안에 잘보면 헬로 컨트롤러라는게 마치 녹색 땅콩처럼 그려놨습니다. 그래서? 이 컨트롤러라는 애노테이션이 있으면 스프링이 뜰때 생성해서 관리를해요. 그래서 컨트롤러 기능들이 동작하는거야

다시 돌아와서
그럼 멤버컨트롤러도 스프링에서 관리를 하게됩니다
그럼이제 얘가 멤버 서비스를 가져다 써야해요
그런데 이전에 이렇게 뉴로 생성해서 쓸수도있습니다. 그런데 스프링이 관리를 하게되면 다 스프링 컨테이너에 등록이 되고 그걸 받아다 써서 관릴되도록 바꿔야해요
package hello.hellospring.controller;
import org.springframework.stereotype.Controller;
@Controller
public class MemberController {
private final MemberService memberService = new MemberService();
}