How to define a map in a YAML file for simple POJO?

后端 未结 2 1011
不思量自难忘°
不思量自难忘° 2021-02-03 18:58

I am using snakeYaml to parse certain configuration/property values to a Configuration object.

My yaml file looks like this -

#Thread
batchLimit: 1000
th         


        
相关标签:
2条回答
  • 2021-02-03 19:34

    Yaml file "AppParams.yml" with key-value pairs:

    someConfig:
        key1: value1
        key2: value2
    

    POJO:

    public class ApplicationParameters {
        private Map<String, String> someConfig;
    
        public ApplicationParameters() {
        }
    
        public Map<String, String> getSomeConfig() {
            return someConfig;
        }
    
        public void setSomeConfig(Map<String, String> someConfig) {
            this.someConfig = someConfig;
        }
    }
    

    Reader:

    ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
    File paramFile = new File("AppParams.yml");
    ApplicationParameters applicationParameters = mapper.readValue(paramFile, ApplicationParameters.class);
    
    Map<String, String> someConfig = applicationParameters.getSomeConfig();
    
    String key1Value = someConfig.get("key1");    //returns "value1"
    

    The example above uses these dependencies in POM.xml:

     <dependencies>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.8</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.8</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
            <version>2.9.8</version>
        </dependency>
    </dependencies>
    
    0 讨论(0)
  • 2021-02-03 19:40

    Here is how it can look like:

    #MAP
    keyMapping: 
        key1: value1
        key2: value2
    

    Generally YAML format has natural support of key-value pairs. Take a look on the following tutorial (just for example): https://github.com/Animosity/CraftIRC/wiki/Complete-idiot's-introduction-to-yaml

    Or just google "yaml map" for more details.

    0 讨论(0)
提交回复
热议问题