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

@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

+ Recent posts