계층 설계 서버에 모든 로직이 한 class안에 들어있으면, 개발이 진행됨에 따라 class 안에 자연스럽게 code의 양이 많아진다. 따라서 한 객체에게 많은 책임이 부여되기 때문에, 객체지향의 원칙에서 벗어나게 된다. 견고한 서버 설계를 위해서 보통 계층을 나눠서 서버를 설계한다. 아래 예제에서 Controller, Service, Domain, Repository 계층으로 나눠서 설계했다. JPA (Java Persistence Api) JPA는 Java 표준 ORM이다. Node.js의 경우 sequelize, typeorm, prisma 등 다양한 ORM이 있었는데, Spring의 경우 JPA라는 표준 ORM이 있어서 개발하기에 훨씬 수월하다고 생각한다. JPA 설치 build.gradle에 아..