Spring Boot 게시판 만들기(RemakeBoard) - 04 ( 구조 만들기 )

FFTL:)·2021년 7월 18일
1

RemakeBoard

목록 보기
5/8
post-custom-banner

Project 요소 생성

이번에는 프로젝트에 필요한 요소(?)들을 생성하겠습니다. 이미 Entity는 생성을 하였으니 그 외의 것들을 생성하겠습니다.

Repository

JPA에서는 Repository 인터페이스를 생성한 뒤 JpaRepository<Entity, 기본키의 타입>을 상속받으면 기본적인 CRUD 기능이 생성됩니다. 이 Repository에서는 데이터베이스와 데이터를 주고 받을 수 있는 기능들을 정의 하게 됩니다.

// 예시
// repository/BoardRepository.java

import fftl.fftl03RemakeBoard.entity.Board;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface BoardRepository extends JpaRepository<Board, Long> {
}

Service

Service 부분입니다. Service 부분은 실질적인 비즈니스 로직을 구현하는 부분으로서 Repository의 이용하여 각각의 기능들을 구현하게 됩니다.

Service는 @Service 어노테이션을 입력하여 구분합니다. 또 Service에서 사용해야하는 Repository를 의존성 주입 해야하는데 이때 클래스 상단에 @RequiredArgsConstructor를 추가하고 final UserRepository userRepository; 의 형식으로 간단하게 추가할 수 있다.

// 예시
// service/BoardService.java

import fftl.fftl03RemakeBoard.repository.BoardRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@RequiredArgsConstructor
@Service
public class BoardService {

    private final BoardRepository boardRepository;


}

Controller

Controller는 실질적으로 요청을 받아들이고 응답을 해주는 역할을 합니다. 각각 @Get, @Post, @Delete, @Petch, @Update가 주로 사용되며 각 이름에 걸맞는 요청의 기능을 담당하게 됩니다.

Controller도 @Controller 어노테이션을 통해서 명시해 줄수 있으며 Rest API를 만들 때 사용할 수 있는 @RestController 도 존재합니다. 저는 Rest API를 만들고 있기 때문에 @RestController를 사용하였습니다.

// 예시
// controller/BoardController.java

import org.springframework.web.bind.annotation.RestController;

@RestController
public class BoardController {

}

이제 해당 파일들에 코드들을 채워 넣어야 합니다.

해당 내용의 프로젝트는 Github에서 확인할 수 있습니다.

profile
생각하는 개발자가 되자!
post-custom-banner

0개의 댓글