[Querydsl] Spring Boot 3.0 이상 Querydsl 세팅 gradle
·
Server/Spring&Spring Boot
build.gradle 설정 plugins { ... id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } ... dependencies { ... 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:jakart..
[Spring] TomcatServletWebServerFactory Port 설정
·
Server/Spring&Spring Boot
인프런에 열린 토비님의 강의 초반부를 따라가던 도중 직접 톰캣을 실행시키는 부분이 있었다. application.properties에서 port설정을 8088로 변경했음에도 불구하고 8080 포트로 계속 연결이 되고 있었다. (8080은 현재 오라클 DB에서 사용하고 있는 상태.) 헛손질 TomcatServletWebServerFactory에 setPort를 하는 명령어가 있나 하고 찾아보니 딱히 나오지 않아, 인터페이스와 추상 클래스를 타고 올라가 봤다. 찾으러 뱅글뱅글 쭉쭉 타고 올라가다 보니 ConfigurableWebServerFactory에 setPort 하는 부분을 발견했다. 해당 인터페이스를 AbstractConfigurableWebServerFactory에서 구현을 해줬고, Abstract..
[Spring Boot] AWS S3에 파일 업로드
·
Server/Spring&Spring Boot
IAM 사용자 생성 사용자 이름을 입력하고 다음으로 넘어갑니다. 검토 후 사용자를 생성합니다. 생성된 사용자에 들어가서 보안 자격 증명의 액세스키를 생성합니다. 체크박스에 체크 후 다음 버튼을 클릭합니다. 태그 설명을 작성한 후 엑세스 키를 생성합니다. 액세스 키와 비밀키를 저장합니다. 이후로 확인이 어려우니 csv 파일을 다운로드하여 보관합니다. 스프링 build.gradle 설정 implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' Application.yml 설정 # multipart 설정 spring.servlet.multipart.max-file-size: 10MB spring.servlet.multip..
[Spring] test code에 대한 회고
·
Server/Spring&Spring Boot
거창한 회고는 아니다. 그냥 오랜만에 혼자 천천히 진행하고 있는, 학원의 종합 프로젝트를 진행하면서 무기한 보류 중인, 개인프로젝트의 코드를 다시 꺼내봤다. 현재 계정부분의 로그인, 회원가입만 구현되어 있는 작고 소중한 프로젝트이며, 여기서 구현 완료된 계정 부분의 컨트롤러 테스트 코드를 작성해 보았다. 테스트 코드 작성 전 나의 JOIN API public class MemberRestController { @PostMapping("/join") public Response join(@RequestBody @Valid final MemberJoinRequest dto) { MemberDto member = memberService.join(dto); return Response.success( Memb..
[Spring Boot] SpringBoot 3.0.x 이상에서 Swagger 사용
·
Server/Spring&Spring Boot
Java 17, Spring Boot 3.0.x 이상은 도대체 무슨 격동이 일어난 것일까.. 기존에 사용하던 세팅이 지원이 안 되는 경우가 많다. Swagger 역시 springfox로 설정하여 접속하게 되면 403 에러가 발생하면서 접속 자체가 막혀버리는 현상이 일어났다. 스택오버플로우를 찾아보니 springfox-boot-start 3.0.0, springdoc-openapi-ui 1.6.13 등이 아직 spring boot 3.0을 지원하지 않고 있는 것 같다. 우리가 사용할 수 있는 방법은 springdoc-openapi-starter-webmvc-ui 사용하는 방법이었다 의존성 추가 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-..
[Spring Boot] Spring Security 6.0 Configuration.
·
Server/Spring&Spring Boot
새로운 프로젝트를 시작하면서 Spring Boot 3.0.1, Java 17을 사용하게 되었다. 기존 Spring Boot. 2.7.x 버전에서 사용하던 Spring Security 설정을 그대로 복사 붙여 넣기를 했더니 @deprecated된 명령어도 있고, 아예 사라진(변경된) 명령어가 존재하여 새로운 버전에 맞춰 코드를 수정하였다. 기존 Security 설정 @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig { private final UserService userService; @Value("${jwt.secret}") private String secretKey; @Bean public Se..
[JPA] Update 후 해당 객체를 Return했을 때 @CreatedDate가 null 이 반환되는 상태에 대한 회고
·
Server/Spring&Spring Boot
서론 프로젝트를 진행하면서, 하나의 Update API를 개발하고 있었다. 요구사항에서는 update 후 해당 데이터의 정보를 Return 하도록 구성되어 있었다. 업데이트 처리 후 해당 객체를 바로 Return 하도록 진행하였는데, lastModifiedAt의 경우에는 update 쿼리가 날아간 시간이 잘 적혀있는 반면 createdAt은 Null로 반환되었다. 바로 DB를 실행시켜 해당 데이터를 확인했을 땐, createAt과 lastModifiedAt이 모두 들어있는 상황이었다. Comment Entity ... public class Comment extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private..
[Spring] 전역 예외, Global Exception 생성
·
Server/Spring&Spring Boot
스프링부트의 예외처리 방식 웹 서비스 애플리케이션에서는 외부에서 들어오는 요청에 담긴 데이터를 처리하는 경우가 많습니다. 그 과정에서 예외가 발생하면 예외를 복구해서 정상으로 처리하기보다는 요청을 보낸 클라이언트에 어떤 문제가 발생했는지 상황을 전달히는 경우가 많습니다. - 스프링 부트 핵심 가이드 中- ExceptionManager 클래스 생성 @RestControllerAdvice public class ExceptionManager { @ExceptionHandler(SNSAppException.class) public ResponseEntity SNSAppExceptionHandler(SNSAppException e) { Map result = new HashMap(); result.put("er..
코드플리
'Server/Spring&Spring Boot' 카테고리의 글 목록 (3 Page)