본문 바로가기

2024/0833

유틸리티 클래스 & 설계 방식 Math 클래스public final class Math { // Private constructor to prevent instantiation private Math() {} // Static utility methods public static int add(int a, int b) { return a + b; } public static double sqrt(double value) { return java.lang.Math.sqrt(value); } // More utility methods...}package java.lang;Math 클래스는 final로 선언되어 있어 상속할 수 없다.생성자가 private로 선언되어 있어,.. 2024. 8. 21.
Spring REST Docs 기본 설정 참고 문서 https://docs.spring.io/spring-restdocs/docs/current/reference/htmlsingle/ Spring REST DocsDocument RESTful services by combining hand-written documentation with auto-generated snippets produced with Spring MVC Test or WebTestClient.docs.spring.ioSpring REST Docs?Spring Rest Docs는 Spring 애플리케이션에서 RESTful API를 문서화하기 위한 도구API 문서를 수동으로 작성하는 대신, Spring Rest Docs는 테스트 기반으로 문서를 자동 생성API 테스트를 작성하면.. 2024. 8. 20.
[JPA] 수정은 어떻게 하는 게 좋을까? 여기 블로그 글 엔티티가 있다. @Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)public class Post { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; @Lob private String content; @Builder public Post(String title, String content) { this.title = title; this.content = content; }} 해당 엔티티의 수정에 대한 방식과 각 방식의 장단점을 정리해 .. 2024. 8. 20.
[JPA] Querydsl 설정 정리 build.gradle 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"annotationProcessor "jakarta.annotation:jakarta.annotation-api"annotationProcessor "jakarta.persistence:jakarta.persistence-api" gradle → Tasks → build/clean(클릭)→ build/build(클릭)  실행 확인  build/generated/sourc.. 2024. 8. 19.
[JPA] Pageable 페이징 관련 정리 Pageableorg.springframework.data.domain인터페이스이다. 구현체로는 PageRequest, Unpaged 존재 @GetMapping("/posts")public List getList(@PageableDefault Pageable pageable){ return postService.getList(pageable);}클라이언트가 해당 경로(/posts)로 요청을 보내면 설정에 맞게 Pageable 객체를 만들어서 넘겨준다. 페이지 번호는 0부터 시작  YAML 설정 spring: data: web: pageable: one-indexed-parameters: true # 페이지 1부터 시작 default-page-size: 5s.. 2024. 8. 19.
Spring Jpa 쿼리 로그 yaml 설정 spring: jpa: hibernate: ddl-auto: create show-sql: true properties: hibernate: format_sql: true # SQL 보기 좋게 포맷팅 use_sql_comments: true # SQL 내부에 /* */ JPQL 주석 추가logging: level: org.hibernate:SQL: debug # SQL 쿼리 로그 출력 org.hibernate.type.descriptor.sql.BasicBinder: trace # 바인딩된 매개변수 로그 출력  Spring Boot 3.0 이상 사용 시 JPA 쿼리 parameter 로그 설정logging: level: .. 2024. 8. 19.