본문 바로가기

Spring23

스프링 부트 프로젝트 빌드 빌드하는 방법프로젝트 루트 경로에서./gradlew build   ./gradlew clean build  clean build vs build 차이점 gradlewGradle Wrapper의 약자로, Gradle Wrapper 스크립트를 실행하는 것프로젝트에 Gradle이 설치되어 있지 않더라도 Gradle Wrapper를 사용하면 해당 프로젝트에 설정된 Gradle 버전으로 빌드를 수행할 수 있다../는 현재 디렉토리에 있는 gradlew 스크립트를 실행하라는 의미 cleanclean 태스크는 빌드 디렉토리를 삭제하는 역할을 한다. 보통 프로젝트의 루트 디렉토리에 build/라는 이름의 디렉토리가 생성되며, 이 디렉토리 안에 모든 빌드 산출물이 저장된다.clean 명령을 실행하면 build/ 디렉토리.. 2024. 8. 24.
유틸리티 클래스 & 설계 방식 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.