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
'백엔드' 카테고리의 다른 글
[Spring Boot] @Validation 유효성 (0) | 2023.12.17 |
---|---|
[Spring Boot] Spring JDBC (0) | 2023.12.16 |
[Spring Boot] 컴포넌트와 빈 차이 (Component vs Bean) (1) | 2023.12.01 |
[Spring Boot] 스프링 빈 (Spring Bean) & 스프링 컨테이너 (Spring Container) (0) | 2023.12.01 |
[Spring Boot] JPARepository 페이징 처리 및 Thymealeaf 호출 (+querydsl) (0) | 2023.10.07 |