본문 바로가기

백엔드

[Spring Boot] @ConfigurationProperties

728x90

 

 

/* 사용하는 이유*/

application.properties 나 application.yml에 있는 외부 설정 정보를 가져오기 위한 기능을 제공한다.

이는 RestAPI를 만들 때에도 용이하다.

 

/* application.properties 설정*/

 

application.properties에 외부 설정 정보를 다음과 같이 설정했다고 하자. 우리는 이 내용들을 자바 클래스 안에서 다루고 싶다.

그러면 다음과 같이 설정을 하자

/* ConfigurationProperties 설정*/

 

어노테이션 @ConfigurationProperties를 이용해 application.properties를 참고하고 prefix를 이용해 어느 정보를 얻고싶은지 알려야 한다. 그리고 이 외부정보들을 Spring IOC Conatiner가 관리를 하기 위해서 @Component를 통해 빈 등록을 한다.

Getter와 Setter는 설정을 해줘야 한다.

 

/* RestController */

 

 

위와 같은 코드를 만들었다.  @Autowired를 이용해 빈 등록된 CurrencyServiceConfiguration객체를 가져왔다.

 

/*테스트 */

스프링부트를 실행하고 localhost:8080/currency-configuration 에 가보니 우리가 설정했던 CurrencyServiceConfiguration이 JSON형태로 출력이 된것을 확인할 수 있다!

728x90