Spring中读取本地json文件,并交给Spring容器管理

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: Spring中读取本地json文件,并交给Spring容器管理
我们经常在项目开发中遇到项目数据初始化的问题,例如一些超管,管理员账号;或者地图包,电话号码包,之类的东西。放到到一个json文件里面(大的数据字典包可以放到搜索引擎里面,改情况本文不做讨论),然后项目启动时候就可以读取,便于我们使用
  • initData.json 文件
{
  "appcInitData":{
    "coinTaskInitLogo":{
      "newMemberGuide" : "https,://123.cn/123/saas_123.png"
    }
  }
}
  • InitDataProperties.java (Json 文件映射类)
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class InitDataProperties {
    private AppcInitData AppcInitData;

    @Data
    public class AppcInitData {
        private CoinTaskInitLogo coinTaskInitLogo;
        @Data
        public class CoinTaskInitLogo {
            private String newMemberGuide;
        }
    }
}
  • InitProjectData.java(数据读取接口)
public interface InitProjectData {
    InitDataProperties PrepareAppcInitData();
}
  • InitProjectDataImpl.java (实现类)
json文件放在了resource/doc 文件目录下
@Component
public class InitProjectDataImpl implements InitProjectData{
    @Override
    public InitDataProperties PrepareAppcInitData() {
        String fileSeparator = File.separator;
        try {
            File file = new File(this.getClass().getResource(fileSeparator + "doc" + fileSeparator + "initData.json").getFile());
            ObjectMapper objectMapper = new ObjectMapper();
            InitDataProperties initDataProperties = objectMapper.readValue(file, InitDataProperties.class);
            System.out.println(initDataProperties.toString());
            return initDataProperties;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
  • 在PostConstruct 项目初始化时候,调用并初始化
    @Autowired
    InitProjectData InitProjectData;
    @PostConstruct
    public void init(){
       InitProjectData.PrepareAppcInitData();
    }
    

测试

在这里插入图片描述

参考资料 & 致谢

[1] Spring.io

目录
相关文章
|
1月前
|
JSON 算法 vr&ar
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
本文介绍了如何使用COCO评估器通过Detectron2库对目标检测模型进行性能评估,生成coco_instances_results.json文件,并利用pycocotools解析该文件以计算AP、AR、MR和DR等关键指标。
90 1
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
|
3月前
|
JSON API 网络架构
【Azure 媒体服务】使用编码预设文件(Preset.json)来自定义编码任务 -- 创建视频缩略图
【Azure 媒体服务】使用编码预设文件(Preset.json)来自定义编码任务 -- 创建视频缩略图
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
44 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
2月前
|
XML JSON JavaScript
R JSON 文件
JSON: JavaScript Object Notation(JavaScript 对象表示法)。
70 29
|
1月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
75 2
|
1月前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
142 0
|
1月前
|
JSON 数据格式 计算机视觉
Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
本文介绍了如何使用OpenCV和Python根据JSON标注文件获取并绘制目标区域,同时可将裁剪的图像单独保存。通过示例代码,展示了如何读取图片路径、解析JSON标注、绘制标注框并保存裁剪图像的过程。此外,还提供了相关的博客链接,供读者进一步学习。
30 0
|
2月前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
77 1
|
2月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
142 2
|
2月前
|
JSON 前端开发 JavaScript
解析JSON文件
解析JSON文件
123 9

相关产品

  • 容器服务Kubernetes版
  • 下一篇
    无影云桌面