痞子374 2024-08-20 14:20 采纳率: 95%
浏览 16
已结题

Java如何获取配置文件中的多组数据

如下图,在Java开发中需要通过调用一个接口来获取指定配置文件中的多组数据,应该如何实现

img

  • 写回答

1条回答 默认 最新

  • 动物园首领 2024-08-23 17:40
    关注

    在springboot项目中读取yml文件可以通过 @ConfigurationProperties(prefix = "my.app") 注解来实现
    不知道这个回答准确不,希望能给你提供一个解决思路
    下面是代码示例

    
    package com.demo.config;
    
    import lombok.Data;
    
    /**
     * 文件名:AppDataList
     * 创建者:
     * 创建时间:2024-08-23
     * 描述:配置对象
     */
    @Data
    public class AppData {
        private String dataName;
        private String dataType;
        private String dataPath;
    }
    
    package com.demo.config;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    import java.util.List;
    
    /**
     * 文件名:MyAppProperties
     * 创建者:
     * 创建时间:2024-08-23
     * 描述: 通过这个类自动加载配置中的对象
     */
    @Component
    @ConfigurationProperties(prefix = "my.app")
    public class MyAppProperties {
        private List<AppData> listData;
    
        public List<AppData> getListData() {
            return listData;
        }
        public void setListData(List<AppData> listData) {
            this.listData = listData;
        }
    }
    
    package com.demo.config;
    import jakarta.annotation.Resource;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * 文件名:TestController
     * 创建者:
     * 创建时间:2024-08-23
     * 描述:
     */
    @RestController
    @Slf4j
    @RequestMapping("/test/")
    public class TestController {
        @Resource
        private MyAppProperties myAppProperties;
        @GetMapping("app")
        public Object queryCases(){
            return myAppProperties.getListData();
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月3日
  • 已采纳回答 8月26日
  • 修改了问题 8月20日
  • 创建了问题 8月20日