Contorller 만들기
먼저 controller 폴더에 MemberController class를 만들어 줍니다.
그리고 public class MemberController {} 위에 @Controller 어노테이션을 걸어주면
자동으로 import org.springframework.stereotype.Controller; 가 자동 생성 됩니다.
@Controller 어노테이션를 걸어주면 스프링이 뜰때, Controller를 객체로 생성하고 스프링이 들고 있습니다.
이런걸 스프링 컨테이너에서 스프링빈이 관리된다고 표현합니다.
Controller에서 사용할 MemberService 객체를 선언해 줍니다.
생성자 생성 단축키는 Alt + insert 입니다.
이제 Contorller와 MemberService를 연결시켜 주겠습니다.
@Autowired 어노테이션을 사용해주면 Spring이 Spring Container에 있는 MemberService와 연결을 시켜줍니다.
이제는 Contriner에서 MemberService를 인식할 수 있도록
MemberService에 어노테이션을 걸어주도록 하겠습니다.
왼쪽부터 Controller, Repository, Service 파일 입니다.
그리고 MemberService에서도 MemberRepository를 필요로 하므로,
생성자에 @Autowired 어노테이션을 걸어주겠습니다.
스프링이 클래스의 존재를 알기 위해서는 위와 같이 각 역할에 맞는 어노테이션을 걸어줘야 인식이 가능합니다.
위와 같은 작업을 해주면 위 사진과 같이 Controller, Service, Repository가 연결되게 됩니다.
이러한 작업을 스프링 빈을 등록한다고 하고, 컴포넌트 스캔이라고 부릅니다.
@Controller, @Service, @Repository 내부를 보면
@Component 어노테이션이 존재하는데, 이것이 스프링 빈에 등록해주는 역할을 합니다.
DI (Dependency Injection)에는 필드, setter, 생성자 주입 총 3가지 방법이 있습니다.
하지만 의존관계가 실행중에 동적으로 변하는 경우는 거의 없으므로 생성자 주입을 권장합니다.
'Web > backend' 카테고리의 다른 글
07 - 01. 회원 관리 예제 (0) | 2022.10.05 |
---|---|
06. API - 정리 (0) | 2022.10.05 |
05. 정적 컨텐츠, MVC (0) | 2022.10.04 |
04. 빌드하고 실행하기 (0) | 2022.10.04 |
03. Welcome Page 만들기 (0) | 2022.09.30 |