스프링 부트 3으로 코드를 변경해보면서 배운 내용을 공유하는 문서입니다. 이번 글을 통해 배워 갈 내용 스프링 부트 2에서 스프링 부트 3 Migration 2 버전 대신에 3으로 넘어가면 좋은 점 및 특징 1. JVM 대신 GraalVM 을 쓰기 때문에 "navtive" app을 실행 가능하게 하며 startup time 을 줄여주고 memory 관리를 더 효율적이게 하게 됩니다. 2. Java 17 LTS 이상되는 버전을 써야 하기 때문에 Text block, Records, Sealed class, Switch expression 등 좋은 기능들을 체험하게 됩니다. 3. Java 기본 버전과 마찬가지로 Jakarta EE 기본 지원 버전을 높여서 javax 대신 jakarta를 패키지 명에 변경하게..
이번 글을 통해 배워 갈 내용 Ubuntu 환경에 PostGIS 설치 스프링에 PostGIS 연동 스프링에 PostGIS 실행 PostGIS는 PostgreSql의 extension으로서 지도상에 거리 계산 및 지도상에 좌표, 선, 면을 다룰 때 PostGIS는 매우 빠르고 쉬우며 유용합니다 1. Ubuntu에 설치 먼저 Linux 환경에 Posgresql이 설치된 곳에 POSTGIS를 설치합니다 ``` sudo apt install postgis sudo -u postgres psql \c DB이름 CREATE EXTENSION postgis; ``` 추가로 궁금하신 분은 여기 참조 https://stackoverflow.com/questions/24981784/how-do-i-add-postgis-t..
Kotlin 사용 시 스프링에서 @Valid 어노테이션 적용이 안된다면.... 이번 글을 통해 배워 갈 내용 @Valid 어노테이션 적용 문제시 해결방법 1. 스프링 버전이 바뀜에 따라 depency 추가 spring-boot-starter-validation https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation 2. Controller에서 @Valid Annotation 있는지 확인 @PostMapping("/example") fun exampleControllerMethod( @Valid @RequestBody request: ExampleRequest ) = ResponseEntity.ok(..
스프링 jasypt를 통한 키값 기본 보안 세팅 (코틀린) 이번 글을 통해 배워 갈 내용 Jasypt로 중요 비밀번호, 키값, credential, application.yml 혹은 properties 암호화 먼저 Depency를 추가합니다 기본 jasypt를 사용하는 방법도 있겠지만 세팅의 편의를 위해서 Jasypt Spring Boot Starter를 사용하였습니다 보안 관련해서 최신 버전을 아래에서 확인 후 세팅하시길 바랍니다 https://mvnrepository.com/artifact/com.github.ulisesbocchio/jasypt-spring-boot-starter 기본 버전을 사용하시고자 하시는 분들은 아래 참조 https://mvnrepository.com/artifact/org...
mssql과 spring boot pagination 사용 시 import org.springframework.data.domain.Page import org.springframework.data.domain.Pageable 아래와 같은 에러가 발생하면 java.lang.UnsupportedOperationException: query result offset is not supported application.properties (yaml) 파일을 확인해서 SQLServerDialect이라고 SQL 버전이 낮아서 그런 것이기 때문에 버전을 아래와 같이 바꿔줍니다 hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect 저는 깔끔하게 해결되었습니다. ..
이번 글을 통해 배워 갈 내용 Spring Boot AWS S3 Setting Spring Boot AWS S3 PresignedUrl으로 파일 업로드하는 방법 (PUT) Spring Boot AWS S3 PresignedUrl 으로 파일 다운로드하는 방법 (GET) 서론 회사에서 매일 Azure SAS Key를 가지고 Blob을 다루다가 이번에 AWS 스터디를 혼자하면서 AWS에서도 Azure 처럼 URL 받아서 클라이언트 서버에서 직접 파일을 업로드하고 다운로드하는 방법을 연구하였습니다. kotlin으로 구현하였으나 로직은 동일해서 자바로 개발하시는 분들도 쉽게 보시리라 믿습니다. 구현 계획 1. 클라이언트 서버 (리액트) -> 리소스 겸 인증 서버 (스프링)에 PresignedUrl을 요청한 뒤 받..
이번 글을 통해 배워 갈 내용 Spring에서 Maven 프로젝트 Gradle로 Migration 해보기 인텔리제이에서 메이븐 그래들로 변경하였습니다 이클립스도 비슷하니 참고해주시면 좋을 듯합니다~ Gradle 설치가 필요하신 분들은 아래 링크를 참조해주시면 됩니다. https://codemasterkimc.tistory.com/536 Gradle 윈도우에 설치하기 이번 글을 통해 배워 갈 내용 Gradle 정의 Gradle 윈도에 설치하기 Gradle 정의 Gradle은 Groovy를 기반으로 한 오픈소스 빌드 도구 Gradle 윈도우에 설치 1. 자바 버전을 확인합니다 (JDK 8 이상이면 설치.. codemasterkimc.tistory.com 2. 아래와 같은 스프링 부트 프로젝트의 디렉터리로 이..
이번 글을 통해 배워 갈 내용 Spring Boot JPA Connect to PostgreSQL Postgre 서버 설정, Postgre 설치가 안되신 분들은 아래 링크를 방문해주시면 됩니다 https://codemasterkimc.tistory.com/534 PostgreSql pgAdmin 서버로 연결해보기 ``` PostgreSql pgAdmin 서버로 연결해보기 ``` 이번 글을 통해 배워갈 내용 PostgreSql pgAdmin 서버로 연결해보기 사전 작업 https://codemasterkimc.tistory.com/532 윈도우에 PostgreSql 설치하기 ```.. codemasterkimc.tistory.com 1. maven의 경우 pom.xml에 아래와 같이 작성해주고 Load M..