Spring : Service

김선미·2022년 6월 16일

Service

  • MemoService.java 생성
@RequiredArgsConstructor // final 선언시 생성자 필요
@Service
public class MemoService {
    private final MemoRepository memoRepository; //멤버변수 선언이지만 final 선언 해야만 스프링에서 연결해줌

    @Transactional // DB 반영 요청
    public Long update(Long id, MemoRequestDto requestDto){
        Memo memo = memoRepository.findById(id).orElseThrow(
                // find의 결과물은 memo 이므로 memo로 반환
                () -> new IllegalArgumentException("아이디가 존재하지 않습니다")
        );
        memo.update(requestDto);
        return id;
    }
}
  1. 메소드 선언

  2. 레포지토리에서 find 기능을 사용하기 위해 레포지토리 멤버 변수 선언

  3. 메소드 구현

    • find 및 에러메세지
    • 레포지토리에서 찾은 메모를 memo로 반환
    • requestDto 의 내용으로 찾은 메모를 업데이트 함
    • id를 반환함
  4. 스프링에서 멤버변수, 서비스, DB 변경 등을 인식할 수 있도록 설정

    • 레포지토리 final 선언 및 @RequiredArgsConstructor 생성자 생성
    • update 메소드를 DB 반영 요청 @Transactional
    • Memoservice 클래스 @Service 선언

더 공부하고 싶은 것

  • update 메소드에서 id를 반환하는 이유
profile
백엔드 개발 공부

0개의 댓글