crossorigin="anonymous">
[Java] Spring Cloud Vault 이해하고 활용하기-2 : 정책 기반 토큰 발급 및 인증 방식
·
Java/Spring Cloud
해당 글에서는 Spring Cloud Vault를 활용하는 방법 중 정책 기반 토큰을 발급하고 인증을 하는 방법에 대해서 알아봅니다. 💡[참고] 이전에 작성한 글에서 KV Secret Engine이 구성되었다는 가정하에 이번 글이 이어집니다. [Java] Spring Cloud Vault 이해하고 활용하기-1 : 초기 환경, KV 구성 및 Root Token 인증 방식해당 글에서는 Spring Cloud Vault를 이해하고 Vault를 구성하고 KV Secret Engine 내에서 데이터를 조회하는 토큰 인증방식을 이용하는 방법에 대해 알아봅니다 1) Vault💡 Vault- HashCorp 사에서 만든 Vault는adjh54.tistory.com 1) Vault💡 Vault- HashCorp ..
[Java] Spring Cloud Vault 이해하고 활용하기-1 : 초기 환경, KV 구성 및 Root Token 인증 방식
·
Java/Spring Cloud
해당 글에서는 Spring Cloud Vault를 이해하고 Vault를 구성하고 KV Secret Engine 내에서 데이터를 조회하는 토큰 인증방식을 이용하는 방법에 대해 알아봅니다 1) Vault💡 Vault- HashCorp 사에서 만든 Vault는 다양한 환경에서 애플리케이션의 외부 비밀 속성(예: 데이터베이스 비밀번호, API 키 등)을 외부화된 구성으로 중앙에서 관리할 수 있습니다. - Spring Boot 환경에서 Vault로부터 시크릿 정보를 읽어오며 Valut에 시크릿 정보를 쓰는 것도 가능합니다. 이러한 방식으로 애플리케이션의 중요한 정보는 코드에서 분리되어 보안이 보장됩니다.- 기밀정보의 동적인 제공, 중앙 집중식 시크릿 관리, 즉각적인 액세스 제어, 감사 추적 기능 등을 ..
[Java] Spring Boot Dotenv 이해하고 활용하기 -1 : .env 로드, .yml 매핑 로드
·
Java/라이브러리 활용
해당 글에서는 Spring Boot 환경에서 Dotenv 오픈소스 라이브러리를 이용하여서 .env 파일을 불러오거나 .env 파일을 yml 파일 형태로 매핑하여 불러오는 방법에 대해 알아봅니다. 1) Spring Boot Dotenv💡 Spring Boot Dotenv- Java와 Kotlin에서 .env 파일을 쉽게 로드하여 환경 변수처럼 사용할 수 있게 해주는 오픈소스 라이브러리를 의미합니다.- 즉, 프로젝트의 루트 경로에 .env 파일 내에 KV 형태로 변수를 두고 환경 변수로써 사용하는 방식입니다. - Spring Boot 내에서는 Node 환경과 다르게 .env 파일을 직접 읽어올 수 없고 대신 OS 환경 변수, application.properties, yaml 등을 읽어 올 수 있습니다. ..
[Java] 자원누수 개선 방법: finally, try-with-resources 활용
·
Java/이론 및 문법
해당 글에서는 SAST를 수행하는 도중에 발생한 자원누수 문제를 해결하기 위한 방법에 대해서 알아봅니다.1) 자원누수 💡 자원누수- 자원 누수는 파일, 소켓 핸들 등 리소스를 할당한 후에 해제를 하지 않으면 GC에서 자동으로 처리를 할 수 없어서 자원이 누수가 되는 문제를 의미합니다.- 그렇기에 개발자는 리소스를 해제하는 close()를 호출하여서 할당된 리소스를 해제하여 자원누수를 막아야 합니다.자원 종류대표 클래스설명파일 I/O 스트림FileInputStream, FileOutputStream파일을 읽고 쓰기 위한 기본 byte 스트림버퍼 기반 스트림BufferedReader, BufferedWriter버퍼링을 적용한 고수준 문자 스트림. 성능 향상 목적네트워크 소켓Socket, ServerSock..
[Java] Spring Boot 환경에서 시스템 변수 .env 파일 지정 및 활용 방법
·
Java/이론 및 문법
해당 글에서는 Spring Boot 개발 환경에서 .env 파일을 시스템 변수로 지정하는 방법과 이를 불러오는 다양한 방법에 대해서 알아봅니다1) Spring Boot 환경에서 .env 파일을 시스템 변수로 적용하는 이유 1. 보안적으로 코드와 민감 정보를 분리하기 위해 이용합니다.💡 보안적으로 코드와 민감 정보를 분리하기 위해 이용합니다.- .properties나 application-xxx.yml에 주요 민감 정보들이 포함되어 있다면, Git 내에 민감정보가 커밋이 될 수 있고, 협업/오픈소스 환경에서는 유출 위험이 큽니다.- 해당 민감 정보를 기반으로 악의적인 목적으로 이용하거나 탈취를 할 수 있기에 서버를 실행할때, .env 파일을 불러오도록 수행하여서 직접적인 노출을 하지 않습니다. 2. 운영..
[Java] Spring Boot 1.5.x 버전 프로젝트 생성 방법(Gradle/Maven) : IntelliJ 활용
·
Java/환경설정
해당 글에서는 Spring Boot 1.5.x 버전 기준의 프로젝트를 생성하는 방법에 대해 알아봅니다.💡 [참고] Spring Boot 2.x.x 버전 프로젝트 생성방법에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다. [Java] Spring Boot 2.x.x 버전 프로젝트 생성: 지원 종료 및 다운그레이드해당 글에서는 Spring Boot 2 버전에 대한 프로젝트를 생성하고자 하여 Spring Boot 3 버전을 다운그레이드하여 사용하는 방법에 대해 알아봅니다. 1) Spring Boot 2.x.x 지원 종료💡 확인 계기- IntelliJ IDEA툴adjh54.tistory.com 1) Spring Boot 1.5.x 버전 확인💡 Spring Boot 1.5.x 버전- Spring B..
[Java/오류노트] Solved - Parameter 0 of constructor in xx required a single bean, but 2 were found
·
Java/오류노트
해당 글에서는 하나의 Service 인터페이스에 이를 활용한 두 개의 구현체를 이용하는 경우 발생하는 에러에 대해서 알아봅니다. 1) 문제점💡 문제점- 아래와 같은 오류가 발생하였습니다. 해당 오류는 RedisSingleDataService 인터페이스에 대해서 구현체로 redisSingleDataServiceImpl와 redisSingleDataServiceImpl에서 구현하는 과정에서 발생하는 오류입니다.Description:Parameter 0 of constructor in com.adjh.springbootredis.controller.RedisSingleDataController required a single bean, but 2 were found:redisCacheSingleDataSer..
[Java] Spring Cloud OpenFeign 이해하고 활용하기 -3 : 예외 처리 관리
·
Java/Spring Cloud
해당 글에서는 외부 통신을 위해 사용하는 Spring Cloud OpenFeign를 통한 통신을 수행할 때, 발생하는 에러에 대해 예외 처리를 하는 방법에 대해 알아봅니다 💡 [참고] Java에서 외부 통신을 하는 방법들에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다분류주제링크RestTemplateSpring Boot Web 활용 : RestTemplate 이해하기https://adjh54.tistory.com/234 WebClientSpring Boot Webflux 이해하기 -1 : 흐름 및 주요 특징 이해https://adjh54.tistory.com/232WebClientSpring Boot Webflux 이해하기 -2 : 활용하기https://adjh54.tistory.com/2..
[Java/오류노트] Solved - Handler dispatch failed: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager
·
Java/오류노트
해당 글에서는 Docker 기반의 Could not initialize class sun.awt.X11FontManager 문제에 대한 해결 방법에 대해 작성한 글입니다.  1) 문제점💡 문제점- 엑셀 다운로드 기능을 Apachce POI 라이브러리를 이용하여서 구현하였고 이를 실행하였을때 로컬에서는 정상적으로 다운로드가 되었지만, 해당 코드를 Docker 기반 개발서버로 올렸을 경우 아래와 같은 오류가 발생하였습니다.- Exception jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManagerjava.lang..
[Java] Spring Boot 환경에서 Excel 활용하기 -2 : Apache POI 기반 엑셀 스타일, 필터, 유효성 적용
·
Java/라이브러리 활용
해당 글에서는 Spring Boot 환경에서 Excel을 활용하기 위해 Apache POI를 기반으로 엑셀 스타일, 필터, 유효성을 적용하는 방법에 대해 알아봅니다. 💡 [참고] Spring Boot Apache POI 에 대해 상세히 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.주제링크Spring Boot 환경에서 Excel 활용하기 -1 : Apache POI 기반 업로드, 읽어오기, 다운로드https://adjh54.tistory.com/664Spring Boot 환경에서 Excel 활용하기 -2 : Apache POI 기반 엑셀 스타일, 필터, 유효성 적용 예시https://adjh54.tistory.com/668Apache POI 활용 방법을 담은 예제 Repositoryh..