SpringBoot16 SQL 보기 옵션 정리 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. spring: jpa: properties: hibernate: show_sql: true format_sql: true 목차 SQL 보기 SQL 예쁘게 보기 1. SQL 보기 show_sql: true spring: jpa: properties: hibernate: show_sql: true 2. SQL 예쁘게 보기 format_sql: true spring: jpa: properties: hibernate: format_sql: true 출처 SpringBoot SQL 보기 옵션 총정리 SpringBoot/ETC 2021. 10. 14. SpringBoot에 MYSQL 연동 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 목차 build.gradle application.yml 1. build.gradle dependencies { //... runtimeOnly 'mysql:mysql-connector-java' } 2. application.yml driver-class-name com.mysql.jdbc.Driver와 com.mysql.cj.jdbc.Driver 두가지가 있습니다. 전자는 Deprecated이므로 com.mysql.cj.jdbc.Driver를 사용하도록 합니다. url localhost:3306/test test는 database 이름을 의미합니다. serverTimezone=UTC URL 쿼리 스트링에 serv.. SpringBoot/ETC 2021. 10. 14. @Builder 사용 시 주의 점 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 목차 Intro 클래스 위에 @Builder 사용 시 문제점 Builder Pattern Implementation 1. Intro 올바른 @Builder 사용을 위해 아래 두 가지 사항에 대해 알아보겠습니다. 클래스 위에 @Builder 사용 시 발생하는 문제점 @Builder 어노테이션 기능을 실제 구현한다면 어떤 식으로 코드가 작성되는지 2. 클래스 위에 @Builder 사용 시 문제점 클래스 위에 @Builder를 선언하면 모든 멤버 필드에 대해서 매개변수를 받는 생성자를 만듭니다. 이 경우 Id, createAt, updateAt 같이 객체 생성 시 받지 않아야 할 데이터들도 빌더에 노출이 됩니다. 그러므로 객체 생성 시.. SpringBoot/ETC 2021. 10. 8. Form 데이터 요청을 DTO에 바인딩하는 방법 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 목차 Intro 바인딩 기준 샘플 코드 3-1. form 데이터 3-2. RestController 3-3. DTO class 결과 1. Intro Spring RestController에서 form 데이터를 받았을 때 이 값을 어떻게 DTO 객체로 바인딩을 할 수 있는지 알아보겠습니다. 2. 바인딩 기준 스프링 MVC가 파라미터로 DTO 객체를 선언해서 자동으로 클라이언트로부터 들어온 폼 데이터 요청 파라미터를 수집할 때 input 태그의 name 속성과 선언된 DTO 클래스의 멤버변수 이름이 같아야 바인딩을 시켜줍니다. 따라서 form 태그를 작성할 때 name속성은 필수 속성으로, 바인딩하고자 하는 DTO 클래스의 멤버변수와.. SpringBoot/Controller Layer 2021. 10. 3. @RequestBody, @ResponseBody (feat. Jackson 라이브러리 동작방식) 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 목차 Intro HttpMessageConverter JSON을 사용한 Client 요청을 Spring이 처리하는 과정 @RequestBody, @ResponseBody 동작방식 1. Intro Spring Framework에서 많이 사용하는 @RequestBody, @ResponseBody 동작 방식에 대해 살펴봅니다. 결론부터 말하면 @RequestBody, @ResponseBody 어노테이션이 붙은 객체는 get이나 set 키워드가 붙은 메서드에 대해서만 값이 바인딩됩니다. 그래서 getter 또는 setter를 열어둬야 합니다. 객체 내의 필드(변수) 값을 기반으로 데이터가 매핑되는 것이 아닌 get키워드나 set키워드가 .. SpringBoot/Controller Layer 2021. 10. 2. 생성자 주입 방식의 장점 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 목차 INTRO 생성자 주입 방식의 장점 2-1. 의존 관계 주입 문제를 컴파일 타임에 인지 가능 2-2. 테스트 코드 작성 용이 2-3. 의존성 주입이 필요한 필드를 final로 선언 가능 1. INTRO 스프링에서는 Setter 주입, 필드 주입, 생성자 주입 이렇게 세 가지 방식으로 DI를 할 수 있습니다. 그 중에서도 생성자 주입을 사용할 때의 장점에 대해서만 알아보겠습니다. 더 자세한 내용은 아래 출처를 참고하시면 됩니다. 2. 생성자 주입 방식의 장점 2-1. 의존 관계 주입 문제를 컴파일 타임에 인지 가능 특정 객체를 생성하는 시점에 의존관계 설정이 제대로 되지 않으면 객체 생성이 불가능합니다. 위 문제를 컴파일 타임.. SpringBoot/ETC 2021. 10. 1. 이전 1 2 3 다음