본문 바로가기

properties3

Spring Boot 와 Properties(or Yaml) Environment Spring Boot 에서 properties 설정에 대한 깨달음을 얻어 정리하고자 글을 작성합니다.몇 시간 전까지만 해도 이 글은 @PropertySource Yaml 사용하기 라는 글로 작성될 뻔 하였던 글 입니다.제가 처음 위의 주제로 글을 작성하기로 마음 먹은 이유는@PropertySource 의 Yaml 미지원@ConfigurationPropeties 의 locations Deprecated때문입니다.까려고 찾아보다가, 내가 잘못 알았구나 하는 깨달음에 바로 글을 작성합니다.발단저의 10번째 블로깅이였던 스프링 부트, YAML 적용 이라는 블로그에서 소개하였던 @ConfigurationProeprties 의 locations 이 Spring Boot 1.4 를 이후로 Deprecated 되었습니.. 2017. 8. 28.
스프링 properties 변경 감지하여 동적으로 로딩하기! 스프링에서는 변경될 여지가 있는, 민감하고 다소 정적인 설정 값들을 외부 설정 파일로 관리하는 경우가 많습니다. 외부 파일로 설정 값을 관리하는 경우 어플리케이션의 소스수정, 리페키징없이 비교적 간단하게 설정 값을 바꿀 수 있습니다. 그러나! 아무런 설정없이 properties를 사용한다면 WAS의 재기동은 불가피합니다. WAS의 재기동없이 properties를 동적으로 로딩하는 2가지 방법을 소개하려고 합니다. 첫번째는 Spring 내장 컴포넌트인 ResourceBundleMessageSource이며 두번째는 Apache Commons 프로젝트 컴포넌트인 PropertiesConfiguration입니다! 첫번째. Spring ResourceBundleMessageSource Spring에서 공식지원하는.. 2016. 9. 29.
스프링 부트, YAML 적용 Spring Boot에서 YAML 환경변수를 지원한지가 꽤 되었는데 아직 properties를 사용하는 프로젝트가 많이 있습니다. 이것을 YAML로 꼭 변경해야 하나 하는 물음이 생겨서 관련 내용을 정리해보았습니다. YAML이란? XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이라고 합니다. (WIKI 참고) 이 양식은 JSON에 포함되며 계층적인 설정 데이터를 정의하는데 매우 편리한 문법을 가지고 있습니다. Spring Boot의 지원 'spring-boot-starter'에서는 자동으로 SnakeYAML 'starter POM`'를 제공하며, SpringApplication 클래스는 클래스패스 상에 Sn.. 2016. 6. 25.