[Spring] properties

White 와잇·2024년 5월 29일
0

Spring

목록 보기
3/9
post-thumbnail

왜 필요한가?

프로젝트를 진행하다가 외부 속성값이 필요할 때 application.properties 파일에서 설정할 수 있다. (YAML 파일도 가능)
소스코드에 직접 입력해주어도 되겠지만 프로퍼티를 사용하면 전역적으로 사용할 수 있으니 재사용이 편하고 관리하기도 편할 것이다.
또 민감한 정보나 비밀번호같은 값들을 소스코드에 바로 노출시키지 않을 수 있다.

언제 사용하나?

SpringBoot에서 jpa, jdbc, security, .. 등등 추가적인 플러그인, 모듈들을 다양하게 다루게 되는데 각 사양마다 요구하는 프로퍼티 설정이 있으며 그것에 준수하다 보면 자연스럽게 작성하게 되더라.
포트번호 설정, 데이터베이스 연결정보를 설정할 때 많이 사용했다.

사용방법

application.properties 파일에
프로퍼티명=값 형식으로 작성한다.

예시) spring.datasource.url=jdbc:mysql://localhost:3306/mydb

또는 YAML 파일로 구성할 수도 있다.
YAML 파일은 .properties와 형식이 살짝 다르다.
야믈은 자바 이외의 프로그램과도 호환이 된다고 한다. 프로젝트가 더 커진다면 이것을 채택하는 편이 좋을 것 같다. 외부속성값을 범용적으로 사용할 수 있다.
파일 형식이 계층적으로 작성되어 가독성이나 추가/수정할 때 더 편하다는 장점이 있겠다.

사용자 정의 프로퍼티

직접 프로퍼티명과 값을 지정해주고
필요한 부분에서 불러올 수 있다.

예시)

  • application.properties 파일에
    다음과 같이 입력, jwt를 사용한 로직에 쓸 비밀키 사용자 정의하기
    jwt.secret.key=abcde

  • 로직처리 부분

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

...

@Value("${jwt.secret.key}")
private String secretKey;

beans.factory.annotation을 임포트해야한다. 이름이 중복되는 애노테이션이 존재한다.

profile
웹개발 도전! 데브옵스 도전!

0개의 댓글