package com.dji.sample.manage.model.common; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.io.IOException; import java.io.InputStream; /** * @author sean * @version 1.1 * @date 2022/7/7 */ @Slf4j @Component public class HmsJsonUtil { private static ObjectMapper mapper; @Autowired public void setMapper(ObjectMapper mapper) { HmsJsonUtil.mapper = mapper; } private static JsonNode nodes; private HmsJsonUtil(){ } @PostConstruct private void loadJsonFile() { try (InputStream inputStream = new ClassPathResource("hms.json").getInputStream()){ nodes = mapper.readTree(inputStream); } catch (IOException e) { log.error("hms.json failed to load."); e.printStackTrace(); } } public static HmsMessage get(String key) { if (nodes.get(key) == null) { return new HmsMessage(); } return mapper.convertValue(nodes.get(key), HmsMessage.class); } }