Recent Posts
Recent Comments
Link
11-21 14:38
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

Spring boot todo - REST API Service 본문

DEV&OPS/Java

Spring boot todo - REST API Service

ALEPH.GEM 2022. 8. 31. 15:19

서비스(비즈니스 로직)

서비스 레이어는 controller와 persistence 사이에서 비즈니스 로직을 수행하는 역할입니다.

 

service 패키지를 만들어 아래 예제를 작성합니다.

package ds.co.kr.todo.service;

import org.springframework.stereotype.Service;

@Service
public class TodoService {
	public String testService() {
		return "Test Service";
	}
}
@Service 어노테이션은 비즈니스 로직을 수행하는 컴포넌트이며 서비스 레이어임을 알려주는 어노테이션입니다.
스테레오 타입 어노테이션으로 내부에 @Component를 포함하고 있습니다.
@RestController 에도 내부에 @Component를 가지고 있으며 모두 자바 빈이고 스프링이 관리합니다.
@Autowired가 알아서 빈을 찾은 다음 그 빈을 인스턴스 멤버에 연결시킵니다.
즉, TodoController가 초기화 할 때 TodoService를 초기화 하여 TodoController에 주입해 주는 것입니다.

 

 

controller 패키지에 아래 예제를 작성합니다.

package ds.co.kr.todo.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import ds.co.kr.todo.dto.ResponseDTO;
import ds.co.kr.todo.service.TodoService;

@RestController
@RequestMapping("todo")
public class TodoController {
	@Autowired
	private TodoService service;
	
	@GetMapping("/test")
	public ResponseEntity<?> testTodo(){
		String str = service.testService();
		List<String> list = new ArrayList<>();
		list.add(str);
		ResponseDTO<String> response = ResponseDTO.<String>builder().data(list).build();
		return ResponseEntity.ok().body(response);
	}
}

 

테스트 http://localhost:8080/todo/test

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90