Service
public interface BoardService { List<Board> findAll(); Board findById(long Id); }
ServiceImpl
@Service public class BoardServiceImpl implements BoardService{ @Autowired BoardRepository boardRepository; @Override public List<Board> findAll() { return boardRepository.findAll(); } @Override public Board findById(long Id) { return boardRepository.findById(Id).orElse(null); }
Repository
public interface BoardRepository extends JpaRepository<Board,Long> { }
Controller
@RestController @RequestMapping(value = "/board_api") public class BoardApiController { @Autowired BoardService boardService; @RequestMapping(value = "") public String index(){ return "index"; } @RequestMapping(value = "findall", method = RequestMethod.GET) public List<Board> findAll(){ return (List<Board>) boardService.findAll(); } @RequestMapping(value = "/findone/{Id}") public Board findone(@PathVariable("Id") long Id){ Board boardData = boardService.findById(Id); return boardData; }
처음에 JPA를 시작했을때 내가 했었던 Legacy Spring 보다 어렵게 느껴졌다.
아직 JPA Springboot 를 공부하고 있는 중이지만, 확실히 덜 복잡하게 느껴졌고
Legacy에서 pom.xml 설정하는데 많은 시간이 든다면
boot는 확실히 내가 뭐가 필요한지만 안다면 시간소요가 적게 드는거 같다.
그리고 sql을 자동으로 해주는 기능이 편하다.