본문 바로가기

스프링

(3)
Java EE와 톰캣, 스프링의 관계 톰캣에 대해 공부하다 보니 계속 나오는 단어가 있었습니다. 바로 JAVA EE. 대체 JAVA EE가 뭘까요? 톰캣은 뭐고 스프링과는 어떤 관계일까요? 단순히 톰캣만 알아볼 게 아니라 이 세 친구들 간의 관계를 명확히 이해해야 각각의 역할도 확실히 알 수 있겠다는 생각이 들어 찾아보기 시작했습니다. 먼저 JAVA EE가 무엇인지 알아봅시다. Java EE (Java Platform, Enterprise Edition) Java EE는 기업용 애플리케이션에 필요한 기능들의 사양을 정의해둔 명세서라고 할 수 있습니다. 구체적으로는 JSP, Servlet, EJB, JDBC 등 기업용 애플리케이션을 개발하고 실행하는 데 필요한 사양들을 명시하고 있습니다. 이 사양을 각 vendor 사들이 구현하여 판매하면 개..
[JPA] Auditing auditing이란 엔티티와 관련된 이벤트(insert, update, delete)를 추적하고 기록하는 것을 의미한다. 모든 엔티티에 생성일시, 수정일시, 생성한 사람을 추가하고 싶은 경우를 생각해보자. 모든 엔티티에 생성일시, 수정일시, 생성한 사람에 대한 필드를 일일이 구현해주어야 한다. 이렇게 되면 모든 엔티티에 중복이 생기고 유지보수가 어려워진다. Spring Data JPA가 제공하는 auditing 기능을 사용하면 이런 기능을 쉽고 빠르게 구현할 수 있다. Spring Data JPA Auditing 적용하기 Auditing을 적용하기 위해서는 우선 어노테이션을 적용해야 한다. @Configuration 어노테이션이 적용된 Config 클래스에 아래와 같이 @EnableJpaAuditing ..
[JPA] Slice & Page Spring Data JPA에서는 Pagination을 위한 두 가지 객체를 제공한다. 바로 Slice와 Page다. Repository 코드를 먼저 보자. public interface MemberRepository extends JpaRepository { Slice findSliceBy(final Pageable pageable); Page findPageBy(final Pageable pageable); } // Controller // queryParameter를 통해 page, size를 받는다 @GetMapping("/api/members") public List findAll(@RequestParam int page, @RequestParam int size) { // 생략 } // Ser..