Back End/Spring boot (7) 썸네일형 리스트형 [Spring Boot] 파일 업로드 구현(MultipartFile) + Postman을 이용한 파일 업로드 테스트 ■ 목표 - 스프링부트 프로젝트에서 Multipart File을 이용한 파일 업로드 구현. - 로컬에서 Postman을 이용한 테스트. 1. 컨트롤러에 아래의 함수를 생성한다. (내부 로직, Return값 등은 알아서 수정하기) @PostMapping("/upload") public ResponseEntity upload(@RequestPart MultipartFile file) { String originalFileName = file.getOriginalFilename(); File destination = new File("upload/dir" + originalFileName); try { file.transferTo(destination); } catch (IOException e) { retu.. [Spring Boot] connection timeout 시간 늘리기 ■ 목표 - apache + 스프링부트(tomcat) + jsp/jquery 기반으로 개발 도중 대용량 데이터를 처리하는 과정에서 커넥션 타임아웃 발생. - 커넥션 타임아웃을 늘리기 위해 여러가지 테스트를 진행하였다. - 실제로 이 방법이 쓰이는 일은 없었다... 타임아웃이 발생한다는 것은 로직이 너무 오래 걸리기 때문으로.. 설계 및 로직을 수정하는 것으로 결론이 났다. 무작정 타임아웃을 늘리는 것이 능사는 아니다. 타임아웃을 늘리게 되면 서버에서 수행중인지, 오류로 커넥션이 묶인 것인지 판단이 힘들어진다. 되도록 타임아웃을 늘리지 않고 오래 걸리는 로직을 수정하는 것이 좋을 듯 하다. 1. ajax 요청 시 타임아웃을 늘려보기 js단에서 서버로 ajax 요청을 보낼 시, 타임아웃 시간을 늘려서 테스트.. [Spring Boot & Intellij] Ambiguous method call: both 에러 해결 (Lombok @Delegate) ■ 현상 - Intellij에서 스프링부트 작업 중 아래와 같은 에러 발생. - 클래스에 동일한 메서드가 두개라고 하는 것 같다. ■ 원인 Lombok의 @Delegate 어노테이션으로 인한 함수 중복 문제이다. 아래 사진에서 @Delegate메서드를 통해 User의 메서드를 MyUserDetail에서도 사용할 수있게 되었다. 하지만 User클래스를 들어가보면 이미 password필드가 존재하기 때문에 MyUserDetail클래스에서 함수가 중복되기 때문에 에러가 발생하였다. ■ 해결방법 중복되는 함수를 제거하니 정상 동작한다. [Spring Boot] application.properties -> application.yml로 변경하기. ■ 목표 - 스프링부트 프로젝트를 생성하면 기본으로 있는 application.properties를 application.yml로 변경한다. - yml파일은 가독성이 더 좋고, 하나의 파일로 프로필을 구분할 수 있는 장점이 있다. 1. application.yml파일 생성. 기존 application.properties파일이 있는 경로에 application.yml을 생성한다. 2. 파일 내용 변환 아래의 경로로 이동해 properties파일을 yml로 변환해준다. (Prop -> yml 자동 변환 사이트이다. 주석은 모두 제거된다.) Props To YAML - Online Converters | All Online Tools (allencoders.online) Props To YAML - Onlin.. [Spring Boot] Lombok 추가하기. (Intellij, Gradle) ■ 목표 - Spring Boot 프로젝트에 Lombok을 추가한다. ■ 사용 툴 - Intellij Ultimate 버전. - SpringBoot는 Gradle 사용. 1. build.gradle 파일에 의존성 추가. build.gradle 파일 dependencies에 아래 의존성을 추가한다. implementation 'org.projectlombok:lombok' 2. Reload All Gradle Projects 버튼 클릭. 우측 상단의 새로고침 버튼을 클릭한다. 우측 하단에 lombok을 다운받는 모습을 확인할 수 있다. 3. Intellij Lombok 플러그인 설치. File > Settings > plugins 메뉴에서 Lombok 플러그인을 설치한다. 4. Lombok 설치 확인 Lo.. [Spring Boot & JPA & mysql] 스프링부트 mysql JPA 연결하기. ■ 목표 - Springboot 프로젝트에 JPA, mysql을 연동한다. ■ 사전 준비사항 - Springboot 프로젝트 (gradle) - mysql 설치 mysql은 아래 글을 참고해 docker를 이용해 설치하였다. 갓대희의 작은공간 :: [Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치) (tistory.com) [Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치) [Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Window10 도커 설치 ] 입니다. : ) 도커 설치하기 ▶ 1. 도커란? 도커 설치와 관련된 포스팅 이기. goddaehee.ti.. [Spring Boot & Intellij] 프로젝트 생성하기 Intellij를 사용해 스프링부트 프로젝트를 생성 후 실행한다. Intellij Ultimate 버전에서 제공하는 기능을 사용하기 때문에 Ultimate버전으로 설치되어야 가능하다. 1. Intellij 버전 - Intellij는 ultimate, 2021.1.3 버전이다. 2. Intellij에서 Spring Boot 생성하기. Intellij Ultimate버전에서는 Spring Boot 생성을 지원하고 있다. Intellij기능을 통해 Spring Boot 프로젝트를 생성한다. 2-1) 새 프로젝트 생성 File > Project...을 클릭해 새 프로젝트를 생성합니다. Spring Initalizr를 선택한 후 프로젝트 명, 자바 버전, 등 프로젝트 기본 정보를 설정한다. 자바 버전 또한 자신이.. 이전 1 다음