[java] yml 파일 값 읽어오기

jihun Choi·2023년 9월 14일
0

안녕하세요 오늘은 spring boot에서 yml 파일을 읽어서 출력하는 로직을 구현해 보도록 하겠습니다

😎 YAML이란?

주로 프로퍼티를 구현할 때 많이 사용하며 들여쓰기를 사용하여 계층 구조를 나타내는 파일입니다. JSON 보다는 무거우며 properties 파일 보다는 가벼운 것이 특징입니다.


😎 yml 파일 값 가져오기

yml 파일 값을 가져오고 출력해오는 로직을 구현해보도록 하겠습니다
spring boot에서 제공하는 application.yml 파일뿐아니라 yml파일을 하나 더 만들어 같이 가져와보고 출력해보도록 하겠습니다.

application.yml 뿐 아니라 다른 yml파일을 가져오기 위해 yml파일을 하나더 생성해 줬습니다.

  • application.yml
spring:
  config:
    import:
      - classpath:/dev-config.yml
      
test:
  name: name
  • dev-config.yml
extern:
  yml:
    test: ymlTest

spring boot가 외부 yml파일을 인식 할수 있게 외부 yml 경로를 application.yml에 추가해 줍니다.

  • YmlPropertyUtil.java
@Component
@RequiredArgsConstructor
public class YmlPropertyUtil {

    private final Environment environment;

    public String getProperty(String name){
        return environment.getProperty(name);
    }

}

Environment 인터페이스는 환경 설정 파일에 존재하는 모든 설정을 가지고 있는 인터페이스입니다. 인터페이스이기 때문에 생성자를 @RequiredArgsConstructor를 통해 구현하였습니다 environment 하위에 있는 getProperty 메소드는 yml파일에 있는 프로퍼티를 찾아 값을 반환해주는 메소드입니다

public String propertyEx() throws Exception {

     System.out.println(ymlPropertyUtil.getProperty("test.name"));
     System.out.println(ymlPropertyUtil.getProperty("extern.yml.test"));

}

테스트를 위해 test.name과 extern.yml.test를 콘솔에 출력시켜 보겠습니다.

테스트 결과 프로퍼티 값이 정상적으로 콘솔에 찍힌것을 확인할수 있었습니다 다음번엔 더 재미있는 소재로 찾아뵙겠습니다 감사합니다.

profile
성장을 위해 열심히 노력하는 개발자 입니다

0개의 댓글