본문 바로가기

Java

(5)
JWT 검증 Header JWT 헤더에 "alg" 필드가 있으며 "RS256", "HS256", "RS384", "HS384", "RS512" 또는 "HS512" 중 하나로 설정되어 있는지 확인 Payload JWT 페이로드에서 다음 필드(있는 경우)의 데이터 유형을 확인합니다. "iat"(발급 시점), "exp"(만료 시간), "nbf"(이전 아님) 클레임은 0보다 큰 숫자이며 문자열이 아닙니다. "sub"(제목), "iss"(발급자), "jti"(JWT ID) 필드는 문자열입니다. "aud"(대상) 클레임은 문자열 또는 문자열 배열입니다. JWT 페이로드에 "sub"(제목), "iss"(발급자), "aud"(대상) 클레임이 있는지 확인합니다. [출처] https://cloud.google.com/endpoints..
File Upload 방법1 public File upload(MultipartFile file) { File saveFile = new File(file.getOriginalFilename()); saveFile.createNewFile(); FileOutputStream fos = new FileOutputStream(saveFile); fos.write(file.getBytes()); fos.close(); return saveFile; } 방법2 public File upload(MultipartFile file) throws IllegalStateException, IOException { File saveFile = new File(file.getOriginalFilename()); file.transferTo(s..
[Mybatis] ResultHandler로 대용량 Excel Download (POI) 대용량의 데이터를 데이터베이스에서 읽어 Excel로 다운로드 할 때 OOM(Out Of Memory)가 자주 발생한다. OOM을 해결하기 위해서 Mybatis를 사용하는 경우에는 ResultHandler를 이용하여 각각의 Result에 대해 Excel의 Row를 생성하면 OOM 발생을 방지할 수 있다. (기존의 DAO를 사용하지 않는 이유는 ResultHandler를 사용해서 데이터베이스에서 행을 패치하면서 바로 엑셀 생성을 처리하기 위해서임) SqlSession session = sqlSessionFactory.openSession(); ResultHandler 를 이용하여 row별로 처리할때는 첫번째로 session을 열어줘야한다. class InnerResultHandler implements Re..
Menu Children 만들기 Java에서 메뉴를 만들때 아래 형식으로 많이한다. ------------------------------ ID | PARENT_ID | NAME ------------------------------ 0 | null | root 1 | 0 | A 2 | 1 | A-1 3 | 0 | B 4 | 3 | B-1 5 | 3 | B-2 6 | 5 | B-2-1 ------------------------------ 이 데이터를 아래처럼 Tree Node로 바꿔보기로 한다. root A A-1 B B-1 B-2 B-2-1 public Menu selectMenuList(Map param) { List menu = repository.selectMenuList(param); menu.forEach(items -> ..
Lombok 설치하기 -Gradle build.grade dependency 추가 dependencies { annotationProcessor 'org.projectlombok:lombok' } - lombok download https://projectlombok.org/download Download projectlombok.org 1. 설치된 경로로 가서 더블클릭이나 CMD 창에서 java -jar lombok.jar 입력 2. 설치된 STS 선택후 install/upgrade 클릭 3. STS.ini 파일을 열어보면 -vmargs 에 lombok.jar가 추가됨 ex) javaagent:C:\sts-bundle\sts-3.9.4.RELEASE\lombok.jar 4. 이클립스 재시작 5. 다음과 같이 @getter,..