Backend/🌿Spring

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

발달중인 망고 2024. 2. 14. 01:13

안녕하세욥~! 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 어노테이션을 사용하면 암호화된 설정 값을 쉽고 안전하게 관리할 수 있습니다. 이 방법을 통해 중요한 정보를 보호하면서도 필요한 곳에서 쉽게 사용할 수 있어 애플리케이션의 보안성 을 강화할 수 있습니다. 감사합니다!