본문으로 바로가기
반응형

 

 

 

기존 클래스들의 작성은

 

아래 링크에 순차적으로 작성되어있다.

 

 


● 회원관리 예제 - 백엔드 개발

 

   1. 회원 도메인과 리포지토리 만들기

   2. 회원 리포지토리 테스트 케이스 작성

   3. 회원 서비스 개발

   4. 회원 서비스 테스트

 

 


 

 

 

 

기존의 클래스(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를 통해 이 빈들을 연결시켜주는 구조이다.

반응형