스프링 공식 가이드를 통해서 REST service를 만드는 법을 따라서 해봄.
확실히 뭣도 몰랐지만 미션을 통해서 따라해봤던 게 오버랩 되면서 이해하기가 수월했고, 머릿속에 더 정리가 됨.
데이터베이스에 저장할 유저 객체를 H2 데이터베이스에 저장하기 위해 만들었었고 JPA라 불리는 것으로 유저에 액세스가 가능하다. 그리고 Spring MVC layer라는 것으로 그것들을 wrap하여 인터넷에 접속하도록 할 수 있다. 이런 전체적인 과정을 이때까지 해왔던 것들이라는 것을 느낌.
구체적으로 들어가보자면, 직접 모든 것을 구현할 필요가 없이 클래스, 메서드 그리고 필드에 붙는 어노테이션들은 자동적으로 필요한 모든 것을 해준다. 예를 들어서, Domain object에서 특정 필드를 primary key로 설정하고 객체가 생성되어질 때마다 자동적으로 그 객체(레코드)에 번호를 매기고 싶다면 @id
, @GeneratedValue
라는 어노테이션으로 자동적으로 그렇게 만들 수 있다.
또, 이런 객체들을 데이터베이스와의 상호작용을 위해 자동적으로 해주는 것이 Spring Data JPA repositores 이다. 정해진 네이밍 규칙에 따라 인터페이스를 만들고 JpaRepository
를 extend만 해주면 CRUD를 자동적으로 할 수 있고 특정 객체(데이터, 레코드)를 이미 만들어진 api를 이용해서 찾을 수도 있다.
데이터베이스와 연동하고 인터넷에 접속하도록 하는 그런것들이 어노테이션으로 모든 것이 자동으로 구현된다는 게 이번 튜토리얼을 통해서 확실히 배움.