[Spring Boot] @Value 어노테이션을 활용한 설정 값 관리

2024. 2. 14. 01:13· Backend/🌿Spring
목차
  1. 암호화 파일 설정
  2. @Value 어노테이션을 활용한 설정 값 주입
  3. 결론

안녕하세욥~! Spring Boot 프로젝트들에서 API키 값을 사용하다 보니 보안이 중요한 설정 값들을 안전하게 관리할 필요성을 알게되었는데요. 특히, 외부에 노출되면 안 되는 중요한 정보들을 암호화하여 관리할 필요가 있습니다. 이번에는 애플리케이션에서 @Value 어노테이션을 사용하여 암호화된 설정 값을 어떻게 관리할 수 있는지 살펴보겠습니다.

 

암호화 파일 설정

먼저, 애플리케이션의 설정 파일에 암호화된 설정 값을 추가해야 합니다. 여기서는 secret.yml 파일을 예로 들어 설명하겠습니다. 이 파일은 중요한 설정 값들을 보관하는 곳으로, 암호화된 JavaScript키 를 저장하는 예시를 들어보겠습니다.

spring:
  datasource:
    url: jdbc:mariadb://localhost:3306/어쩌궁
    driver-class-name: org.mariadb.jdbc.Driver
    username: 사용자명
    password: 비밀번호

app:
  security:
    jsKey: dff324231231231231231231236430 # 예시로 사용된 암호화된 키 값

위의 설정 파일에서 app.security.jsKey 속성에 암호화된 JavaScript 키 값을 저장하고 있습니다.

 

 

@Value 어노테이션을 활용한 설정 값 주입

아래 코드는 @Value 어노테이션을 사용하여 secret.yml 파일 내의 app.security.jsKey 속성 값을 jsKey 필드에 주입 하고 있습니다. 이렇게 주입된 값 은 애플리케이션 코드 내에서 안전하게 사용할 수 있습니다.

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class YourService {

    @Value("${app.security.jsKey}")
    private String jsKey;

    public void useJsKey() {
        // jsKey를 사용하는 로직
        System.out.println("Using jsKey: " + jsKey);
    }
}

 

 

결론

Spring Boot에서 @Value 어노테이션을 사용하면 암호화된 설정 값을 쉽고 안전하게 관리할 수 있습니다. 이 방법을 통해 중요한 정보를 보호하면서도 필요한 곳에서 쉽게 사용할 수 있어 애플리케이션의 보안성 을 강화할 수 있습니다. 감사합니다!

'Backend > 🌿Spring' 카테고리의 다른 글

[SpringBoot] 협업을 위한 Swagger 사용법  (0) 2024.03.11
[SpringBoot] AWS S3 Bucket을 이용한 이미지 업로드 + CloudFront설정  (0) 2024.03.06
[Spring Boot] 사진 업로드 기능 구현하기 Back-end , 1편  (1) 2024.01.23
[JPA/Error] 무한 참조 문제 해결하기 @JsonIgnoreProperties 활용  (0) 2024.01.21
[JPA] 의존 관계에 있는 연관된 데이터 삭제 처리: Spring과 JPA 및 Query  (0) 2024.01.20
  1. 암호화 파일 설정
  2. @Value 어노테이션을 활용한 설정 값 주입
  3. 결론
'Backend/🌿Spring' 카테고리의 다른 글
  • [SpringBoot] 협업을 위한 Swagger 사용법
  • [SpringBoot] AWS S3 Bucket을 이용한 이미지 업로드 + CloudFront설정
  • [Spring Boot] 사진 업로드 기능 구현하기 Back-end , 1편
  • [JPA/Error] 무한 참조 문제 해결하기 @JsonIgnoreProperties 활용
발달중인 망고
발달중인 망고
Kangwon uni. Department of Computer Engineering
발달중인 망고
망고의 개발일기
발달중인 망고
전체
오늘
어제
  • ROOT (85)
    • 🥭Mango Odyssey (3)
    • Backend (1)
      • 🌿Spring (16)
    • Frontend (3)
      • React (1)
      • Thymeleaf (1)
      • Flutter (1)
    • DevOps (7)
      • AWS (5)
      • Docker (2)
    • Git (5)
    • Knowledge (18)
      • Java (12)
      • Python (6)
    • Activities (10)
      • 우아한 테크 프리코스 (7)
      • itwill (1)
      • 프리온보딩 백엔드 챌린지 12월 (0)
      • 스위프(SWYP) 3기 (1)
      • 팀 맥플러리 (1)
    • SQL (5)
    • IoT (4)
      • 아두이노 (4)
    • AI (1)
    • OS (1)
    • 일상 (8)
      • 일기 (6)
      • 독서 (0)
      • 잡생각 (1)
    • 언젠가 분류될 카테고리 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • GIT
  • 우테코
  • MVC
  • EC2
  • 자바
  • 회고록
  • 코드소스
  • 코드
  • Model
  • DB
  • 문제풀이
  • baekjoon
  • SQL
  • AWS
  • 스프링부트
  • 코딩테스트
  • JPA
  • spring boot
  • 백엔드
  • springboot
  • Java
  • 알고리즘
  • 소스코드
  • 깃허브
  • 코드트리
  • python
  • 파이썬
  • 백준
  • 아두이노
  • Spring

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
발달중인 망고
[Spring Boot] @Value 어노테이션을 활용한 설정 값 관리
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.