반응형
기존 클래스들의 작성은
아래 링크에 순차적으로 작성되어있다.
● 회원관리 예제 - 백엔드 개발
기존의 클래스(service, repository)들을 컨트롤러를 통해 화면에 띄우고자 한다.
먼저 실제 클라이언트가
회원가입과 회원 조회를 할 수 있도록 해주는
MemberController를 작성해보자
● 컨트롤러 작성
MemberController.java
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;
}
}
클래스 위에 @Controller 애노테이션을 작성했다.
이렇게 작성하면
스프링 컨테이너가 MemberController를 스프링 빈으로 등록하고 관리를 한다.
추가로 @Autowired 애노테이션이 있는데
이것은 memberService와 연결을 도와준다.
(이때, service는 @Service, repository는 @Repository라고 선언해줘야 한다. 그래야 스프링이 인식함)
개발자가 직접 controller에서 new memberService ( 새로운 객체 생성)을 하지 않고,
스프링이 빈으로 등록된 memberSerivce를 가져와서 memberController와 연결해준다.
이러한 방식을 컴포넌트 스캔이라고 한다.
컴포넌트는 @Service, @Controller 등의 애노테이션을 포함하고 있는데,
스프링이 이러한 애노테이션들을 스캔하고 빈으로 등록한다.
그리고 @Autowired를 통해 이 빈들을 연결시켜주는 구조이다.
반응형
'Java > Spring' 카테고리의 다른 글
[Spring boot] 스프링 홈 화면 | 메인 화면 | 메인 페이지 | 타임리프(Thymeleaf) (0) | 2022.01.07 |
---|---|
[Spring boot] 스프링 빈과 의존관계 | 자바 코드로 직접 스프링 빈 등록하기 | @Controller | @Autowired | 컨트롤러 작성(화면에 띄우기) (0) | 2022.01.06 |
[Spring boot] 스프링(Spring) 테스트 케이스 작성(중복 회원 검사, 회원 가입) (0) | 2022.01.05 |
[Spring boot] 스프링 회원 서비스 - 중복 회원 검사 | 전체 회원 조회 | 회원 조회 (0) | 2022.01.05 |
[Spring boot] 스프링(Spring) 테스트 케이스 작성(회원 가입, 회원 조회 (0) | 2022.01.05 |