Backend
home
🪜

서비스계층 만들기

TodoService
.. 중략 .. // 등록 Long register(TodoDTO dto); void modify(TodoDTO dto); void remove(Long tno);
Java
복사
TodoServiceImpl
package org.zerock.apiserver.service; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.zerock.apiserver.domain.Todo; import org.zerock.apiserver.dto.TodoDTO; import org.zerock.apiserver.repository.TodoRepository; import java.util.Optional; @Service @Log4j2 @RequiredArgsConstructor public class TodoServiceImpl implements TodoService { private final TodoRepository todoRepository; @Override public TodoDTO get(Long tno) { Optional<Todo> result = todoRepository.findById(tno); Todo todo = result.orElseThrow(); return entityToDTO(todo); } @Override public Long register(TodoDTO dto) { Todo todo = dtoToEntity(dto); Todo result = todoRepository.save(todo); return result.getTno(); } @Override public void modify(TodoDTO dto) { Optional<Todo> result = todoRepository.findById(dto.getTno()); Todo todo = result.orElseThrow(); todo.changeTitle(dto.getTitle()); todo.changeContent(dto.getContent()); todo.changeComplete(dto.isComplete()); todo.changeDueDate(dto.getDueDate()); todoRepository.save(todo); } @Override public void remove(Long tno) { todoRepository.deleteById(tno); } }
Java
복사
TodoServiceTests
.. 중략 .. @Test public void testRegister() { TodoDTO todoDTO = TodoDTO.builder() .title("Title....") .content("content....") .dueDate(LocalDate.of(2023, 12, 31)) .build(); }
Java
복사