Server/Spring Boot
-
[Spring] @Builder를 사용할 때 고려해야 할 생성자 문제 알아보기Server/Spring Boot 2021. 11. 21. 00:48
@Builder, @AllArgsConstructor 알아보기 이번 글에서는 @Builder, @AllArgsConstructor, @NoArgsConstructor 애노테이션을 사용할 때 알아야 할 점에 대해서 정리해보겠습니다. 위와 같이 @Builder, @NoArgsConstructor를 사용했을 때 Lombok에서 만들어주는 메소드를 알아보겠습니다. 만들어주는 메소드를 보면 기본 생성자, 빌더 관련 메소드들을 만들어주는 것을 볼 수 있습니다. Builder가 어떤 것인지 안다면 전체 생성자가 필요하다는 것을 알 수 있습니다. (Builder가 궁금하다면 여기 에서 확인하실 수 있습니다.) Builder란 생성자의 매개변수가 많을 때 좀 더 편리하게 객체를 만들 수 있게 도와주는 것이고, Build..
-
[Spring] Spring Boot jar 파일을 AWS EC2에 배포하는 법Server/Spring Boot 2021. 10. 22. 13:45
Spring Boot EC2에서 배포하는 법 이번 글에서는 Spring Boot jar 파일을 AWS EC2에서 배포하는 법에 대해서 정리해보겠습니다. 지금은 많이 경험해보았기 때문에 많이 익숙하지만, 스프링을 처음 다루어 서버에 배포할 때는 항상 헷갈렸기에 다른 처음 해보시는 분들에게 정보를 공유하기 위해 한번 정리해보려 합니다. 먼저 Spring Boot 프로젝트, AWS EC2 인스턴스 설정은 다 되어 있다고 가정하고 글을 시작해보겠습니다. maven mvn package 만약에 maven 프로젝트를 사용하고 있다면 위와 같이 mvn package 명령어를 사용하면 jar 파일이 만들어집니다. 그러면 위와 같이 target 디렉토리 아래에 jar 파일이 만들어진 것을 볼 수 있습니다. 1. java..
-
[Spring] Kotlin에서 @Valid로 @RequestBody DTO 검증하기Server/Spring Boot 2021. 10. 22. 01:00
Kotlin, Spring Boot에서 @RequestBody DTO 필드에 Valid 사용하는 방법 저번 글 에서 Java, Spring Boot에서 RequestBody DTO 필드에 Valid를 적용하는 법에 대해서 알아보았는데요. 이번 글에서는 Kotlin, Spring Boot로 Valid를 적용하는 법에 대해서 알아보겠습니다. Valid에 대한 개념은 똑같기 때문에 Valid 개념이 헷갈리신다면 저번 글 을 읽고 오시는 것을 추천드립니다. 그리고 Kotlin, Spring Boot, gradle 기반으로 프로젝트를 하나 생성한 후에 진행해보겠습니다. @RequestBody DTO 필드 Valid로 검증하기 implementation("org.springframework.boot:spring-b..
-
[Spring] Kotlin 으로 AWS S3 파일 업로드 하는 법Server/Spring Boot 2021. 10. 18. 09:50
Kotlin, Spring Boot로 S3에 파일 업로드 하는 법 이번 글에서는 Kotlin 코드로 AWS S3에 파일 업로드 하는 방법에 대해서 알아보겠습니다. AWS S3 버킷을 생성하는 방법에 대해서는 다루지 않을 것이라 혹시 알고 싶다면 여기 에서 참고하고 오시면 될 거 같습니다. implementation("org.springframework.cloud:spring-cloud-starter-aws:2.0.1.RELEASE") Spring boot는 gradle 기반으로 사용할 것이기 때문에 위의 의존성을 build.gradle에 추가하겠습니다. @Service class S3Service( private val s3Client: AmazonS3Client ) { @Value("\${cloud.a..
-
[Spring] Spring Security와 Swagger 같이 사용하는 법Server/Spring Boot 2021. 6. 27. 20:13
Spring Security Swagger 에러 해결 이번 글에서는 Spring Boot에서 Security와 Swagger를 사용하면서 만난 문제를 해결한 과정에 대해서 정리해보려 합니다. 프로젝트를 진행하면서 특정 URI로 시작하는 것이 아니라면 시큐리티 단에서 걸러내는 작업을 해보고 싶어서 Spring Security를 아주 간단하게만 적용을 해보고자 하였습니다. 하지만 적용을 하다 보니.. Swagger 관련해서 문제점이 생겼는데요. 그 부분에 대해서 간단하게 정리해보겠습니다. Spring Security는 어떻게 적용했을까? 처음에는 Spring Security는 비밀번호 단방향 암호화를 하는데만 사용했기 때문에 위의 설정정도로만 아주 간단하게 했습니다. 그래서 위와 같이 /api/v2로 시작하..
-
[Spring] yml 파일 dev, prod, local 환경으로 간단하게 분리하기Server/Spring Boot 2021. 6. 16. 17:52
application.yml dev, prod, local 환경 분리하는 법 이번에 프로젝트를 진행하면서 마무리가 되었을 쯤에 개발, 운영, 로컬 환경으로 분리시키는 작업이 필요했습니다. 그래서 이번 글에서 application.yml을 사용할 때 prod, dev, local로 나눠서 작업하는 법에 대해서 간단하게 알아보겠습니다. 하나의 yml 파일 내에서 ---을 통해서 구분하는 것도 가능하지만 yml 파일이 거대해지다 보니.. 위 처럼 환경마다 파일을 만들어서 총 4개의 yml 파일을 생성하였습니다. application.yml을 보면 위와 같이 맨 위에 공통으로 쓰이는 설정 값들을 놓고, ---을 구분 후에 아래의 prod, dev, local 환경을 분리했습니다. profile 값에 맞는 설정 ..
-
[Spring] Spring Boot로 MongoDB Atlas 사용하는 법Server/Spring Boot 2021. 5. 23. 03:07
Spring Boot에서 MongoDB Atlas 사용하는 법 이번 글에서는 Spring Boot로 MongoDB Atlas를 사용하는 법에 대해서 정리해보려 합니다. 먼저 https://www.mongodb.com/cloud/atlas1 MongoDB Atlas 사이트에 먼저 접속하겠습니다. MongoDB Atlas를 사용하기 위해서는 회원가입을 먼저 해야 합니다. 위에 자기의 정보에 맞게 입력 후에 회원가입을 하겠습니다. 저는 자바를 사용할 것이기 때문에 Java를 선택하고 다음을 누르겠습니다. 무료 버전을 사용할 것이기 때문에 FREE를 선택하고 나머지는 기본 설정대로 두고 만들겠습니다. 그리고 1~3분 정도 기다리면 클러스터가 하나 생성이 됩니다. 생성이 되었다면 Connect를 눌러서 DB Us..
-
[Spring] Spring Boot AWS S3 사진 업로드 하는 법Server/Spring Boot 2021. 5. 3. 16:33
Spring Boot S3 파일 업로드 하는 법 이번 글에서는 Spring으로 AWS S3에 파일 업로드 하는 글을 정리해보겠습니다.(기존에 썼던 글은 잘못되거나 부족한 점이 많아서 이번 기회에 다시 써서 정리해보려 합니다.) AWS S3 Bucket 생성하기 먼저 S3 버킷을 생성합니다. 버킷 이름만 설정한 후에 나머지 설정은 Default 설정 그대로 두고 생성하겠습니다. IAM 사용자 S3 접근 권한 추가 먼저 IAM 사용자를 생성하겠습니다. 그리고 위와 같이 IAM 사용자 생성 후에 S3FullAccess 권한을 추가하겠습니다. Spring Boot 파일 업로드 implementation "com.amazonaws:aws-java-sdk-s3:${awsJavaSdkVersion}" ex) impl..