Programing/JAVA
Yaml 파일 객체화 yaml 파일 읽기 snakeyaml
리커니
2023. 2. 17. 16:30
반응형
이번 포스팅에서는 .yaml 파일을 읽어 활용하는 방법을 알아보겠습니다.
snakeyaml 이라는 라이브러리를 사용할 것이고, 의존성 주입은 아래의 링크를 참고하세요!
Link : https://mvnrepository.com/artifact/org.yaml/snakeyaml
1. gradle 의존성 주입
implementation group: 'org.yaml', name: 'snakeyaml', version: '1.33'
2. test.yml 파일 생성 [test.yml]
user:
name: aljjabaegi
blog: aljjabaegi.tistory.com
3. yaml 파일을 구조체할 class 생성 [YamlTest.java]
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class YamlTest {
private User user;
@Getter
@Setter
public static class User {
private String name;
private String blog;
}
}
롬복 어노테이션을 활용합니다.
4. yaml to Class
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
.
.
.
Yaml yaml = new Yaml(new Constructor(YamlTest.class));
YamlTest yamlTest = (YamlTest) yaml.load(new ClassPathResource("test.yml").getInputStream());
System.out.println(yamlTest.getUser().getName());
System.out.println(yamlTest.getUser().getBlog());
위에서 생성한 classPath에 있는 test.xml을 읽어 YamlTest 객체로 컨버팅하는 코드 입니다.
라이브러리에서는 값에 접근하는 방법 외서 수정하는 방법 같은 것은 제공하지 않는 것 같습니다.
(자세히 안찾아봄.. 있다면 댓글 남겨주세요..)
yaml 파일을 읽어 클래스로 만드는 방법을 알아보았습니다. 주의하셔야 될 점은 Getter, Setter는 꼭 있어야 하고
변경할 구조체의 명칭이나 뎁스가 정확히 일치해야만 변환이 되니 오탈자에 조심하세요!
반응형