Spring/Spring Boot

스프링 프레임워크에 관한 내용을 기록합니다.
·Spring/Spring Boot
00. 서버에서 클라이언트로 이벤트를 보내야 하는 필요성서버에서 클라이언트에게 이벤트 처리를 해주어야 하는 경우는 생각보다 쉽게 떠올릴 수 있다. 예를 들어 네이버 카페에서의 채팅 기능을 생각해보자.클라이언트가 특정 유저에게 채팅을 보내면, 해당 정보는 상대방에게 바로 가지 않고 먼저 서버로 전송된다.이후 상대 유저가 채팅 내용을 얻기 위해서 서버에 해당 채팅 내용을 요청해야한다.여기서 한가지 쟁점은 상대 유저는 자신에게 채팅이 온 사실을 어떻게 인식하는가? 이다.이러한 상황에서는 서버에서 클라이언트에게 이벤트를 전송해야한다.서버가 채팅 전송 요청을 받으면, 상대 유저에게 채팅이 왔다는 이벤트 처리를 해주면 위의 문제가 해결된다.이 외에도 푸쉬알림, 메일, 공지사항 등 다양한 기능에서 서버의 이벤트 처리..
·Spring/Spring Boot
00. 문제 상황배포 전에는 멀쩡히 인식되던 이미지가, ec2 배포 후에는 계속 이미지 경로를 인식 못함01. 문제 원인윈도우 환경에서는 파일 절대 경로에서 디렉토리를 구분할 때 백슬래시()를 사용함그래서 기존 프로젝트에서는 이미지 경로를 백슬래시를 사용해서 지정해놨음하지만 Linux 등 Unix 환경에서는 백슬래시가 아닌 슬래시(/)를 사용하여 디렉토리 구분그래서 기존의 이미지 경로를 인식하지 못했음02. 해결슬래시(/)를 사용하여 경로 작성 이미지가 무사히 표시됨
·Spring/Spring Boot
01. ORS란?기본적으로 동일 출처 정책(SOP, Same-origin policy) 웹 통신 시, 다른 도메인 주소끼리는 통신을 하지 못한다.이때, 다른 도메인 주소 끼리 통신을 하기 위해서는 CORS를 통해야한다.이때 CORS(Cross-origin Resource Sharing, 교차 출처 리소스 공류)는 서로 다른 도메인끼리 자원을 요청할 수 있도록 허락을 받는 체제를 의미한다.02. Spring boot에서 CORS 설정하기기본적으로 스프링부트에서 CORS를 설정하는 방법은 1. 전역적으로 설정하기, 2. 각 Controller에 직접 설정하기 가 있다.여기서는 전역적으로 설정하는 방법을 사용했다.@Configurationpublic class WebConfig implements WebMvc..
·Spring/Spring Boot
프로젝트를 진행하던 중 API Key 값을 프로젝트 내부에서 사용해야 할 일이 생겼다.그런데 이런 키값을 그대로 자바 코드에 넣자니, 보안 문제가 우려되었다.이를 위해 .gitignore에 등록해둔 application.properties 파일에 키값을 저장해두고, 자바에서 이를 불러와 사용하기로 결정했다.밑에서 해당 방법을 서술하겠다.application.properties의 변수값 불러오기application.properties먼저 application.properties 파일에 값을 저장해 두겠다.Test.javapackage com.hayden.limg\_diary.test; import org.springframework.beans.factory.annotation.Value; import ..
·Spring/Spring Boot
이번에는 스프링 부트에서 이미지를 저장하는 방법을 알아보고자 한다.사실 해당 내용을 공부하기 전 내가 궁금했던 부분은 아래 두가지였다.Q1. html form에서 저장된 이미지는, 어떠한 형태로 스프링 부트에게 전달되는가Q2. 전달받은 이미지는 DB에 어떻게 저장되는가해당 내용만 먼저 간단하게 살펴보자면A1.스프링 부트에서는 MultipartFile 클래스를 제공해주고, form 형식으로 파일이 날아오면, 자동으로 MultipartFile 형태로 전환해준다.추후 MultipartFile.transferTo() 메소드를 이용하여 자바의 File 타입으로 간단하게 전환할 수 있다.A2.보통 DB에 이미지 파일을 저장하는 방법은 아래 두가지가 있다.이미지 데이터 자체를 DB에 저장(이진값 형태로)이미지는 로컬..
·Spring/Spring Boot
스프링부트 공부를 진행하면서 application.properties 파일을 많이 건들였다.보통 properties파일에서는 민감 정보(db password)등을 많이 다루기 때문에 Github에 올릴때 조심해야한다.이때 .gitignore을 통해 application.properties 파일 자체를 안올려도 되지만, 나는 그것보다는 application.properties의 민감부분만 다른 파일로 분리한 후 해당 파일을 unstage하는 방향으로 업로드하였다.1. 새로운 .properties 파일 생성생성 경로: 기존 application.properties 파일이 존재하는 위치생성 이름: application-원하는이름.properties이름은 반드시 위의 형식이여야 함을 유의이후 민감한 내용을 작성..
Im_Hayden
'Spring/Spring Boot' 카테고리의 글 목록