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