SpringBoot对数据进行持久化

2023-11-02

SpringBoot关闭服务后,对数据进行持久化操作


提示:以下是本篇文章正文内容,下面案例可供参考

1、放入需要持久化的数据

@Slf4j
@RestController
@Api(tags = "存放需要持久化的数据")
@RequestMapping("/")
public class TestController {

    @Autowired
    private TestPersistence testPersistence;
    private ConcurrentMap<String,String> concurrentMap = new ConcurrentHashMap();

    @NoLogin
    @PostMapping(value = "/test")
    public void test() {
        concurrentMap.put("test","123456");
        Data data = new Data();
        data.setConcurrentMap(concurrentMap);
        testPersistence.Persistence(data);
    }

    public interface TestPersistence{
        void Persistence(Data data);
    }

    @lombok.Data
    public static class Data{
        private ConcurrentMap<String,String> concurrentMap;
    }

}

2、调用自定义的销毁方法

@Slf4j
@Component
public class TestImplDisposableBean implements DisposableBean, ExitCodeGenerator, TestController.TestPersistence {
    private ConcurrentMap<String, String> concurrentMap = new ConcurrentHashMap<>();

    @Override
    public void destroy() throws Exception {
        log.info("程序关闭,可以保存需要序列化的数据:{}",concurrentMap);
log.info("拿到数据后,可以保存在本地磁盘,下次项目启动的时候获取数据,然后执行自己需要的逻辑即可!");

    }

    @Override
    public void Persistence(TestController.Data data) {
        concurrentMap = data.getConcurrentMap();
    }

    @Override
    public int getExitCode() {
        return 5;
    }
}

3、关闭程序可见控制台输入需要持久化的数据

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot对数据进行持久化 的相关文章

  • 如何将本机库链接到 IntelliJ 中的 jar?

    我正在尝试在 IntelliJ 中设置 OpenCV 但是我一直在弄清楚如何告诉 IntelliJ 在哪里可以找到本机库位置 在 Eclipse 中 添加 jar 后 您可以在 Build Config 屏幕中设置 Native 库的位置
  • 在 Java 中克隆对象 [3 个问题]

    这样做会调用Asub的clone方法吗 或者Asub深度克隆是否正确 如果没有的话 有没有办法通过这种方法对Asub进行深度克隆呢 abstract class Top extends TopMost protected Object cl
  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • 在内存中使用 byte[] 创建 zip 文件。 Zip 文件总是损坏

    我创建的 zip 文件有问题 我正在使用 Java 7 我尝试从字节数组创建一个 zip 文件 其中包含两个或多个 Excel 文件 应用程序始终完成 没有任何异常 所以 我以为一切都好 当我尝试打开 zip 文件后 Windows 7 出
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • 【函数(上)(双重for循环)】

    1 循环 1 双重for循环 概述 循环嵌套是指在一个循环语句中再定义一个循环语法结构 例如 嵌套一个for循环 这样for循环语句我们称之为双重for循环 双重for循环语法 for 外循环的初始 外循环的条件 外循环的表达式 for 内
  • LoadOfTheRoot提权学习

    端口碰撞 端口试探 port knocking 是一种通过连接尝试 从外部打开原先关闭端口的方法 一旦收到正确顺序的连接尝试 防火墙就会动态打开一些特定的端口给允许尝试连接的主机 端口试探的主要目的是防治攻击者通过端口扫描的方式对主机进行攻
  • swagger3的配置和使用(一)

    目录 Swagger3简介 Swagger的组成 Swagger的Springboot配置 maven添加依赖 创建swagger的配置类 访问路径 application yml环境配置 API分组 Swagger常用注解 注解说明 用于
  • URLSearchParams快速解析URL查询参数

    浏览器 Window 内置的 URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串 再也不用 字符串分割的方式去解析 url query 参数了 一 URLSearchParams 构造函数 URLSearc
  • 百度APP视频播放中的解码优化

    背景 在全民视频的时代 百度APP中视频播放是十分重要的业务 随着 5G 的到来 视频播放已经不满足以前的标清 高清 超清乃至于 4K 已经是旧时王谢堂前燕飞入寻常百姓家 越来越清晰的视频源 越来越复杂的视频编码 对 APP 的视频解码能力
  • Android设备接入阿里云IoT物联网平台——设备接入类

    1 准备工作 1 1 注册阿里云账号 使用个人淘宝账号或手机号 开通阿里云账号 并通过 实名认证 可以用支付宝认证 1 2 免费开通IoT物联网套件 产品官网 https www aliyun com product iot 1 3 软件环
  • 微信小程序发布迭代版本后如何提示用户强制更新新版本

    在点击小程序发布的时候选择 升级选项 之前用户使用过的再打开小程序页面就会弹出升级弹窗modal
  • esp32 CMT130-V1.0 PS 240*240屏幕显示一张图片的实验

    1 使用ImageConverter565软件 将图片转为120 120大小 保存为后缀名为 c的文件 保存 2 具体pic c代码如下 3 改为如下格式的文件pic h 复制到路径 Arduino hardware espressif e
  • python 结合 Flask 的html页面嵌入for 语句

    近期有个项目 使用python和Flask框架 渲染页面后 需要使用循环显示不定长的数据 由于Flask是基于python的web框架 因此可以在html页面中直接使用 嵌套python语法 官方示例如下 https dormousehol
  • linux rpm包的编译

    有些软件包的特性是编译者选定的 如果编译未选定此特性 将无法使用 rpm包的版本落后于源码包 因此需要定制安装 也就是手动编译安装 编译需要编译环境 编译的过程如下 1 下载源码 2 执行 tar xf 3 cd到源码文件夹内 config
  • 按键状态机(实现单击,长按,双击)的模块分享

    目录 一 相关说明 二 分析 三 模块代码 三 代码讲解 四 作者的话 一 相关说明 1 需要的资源 一个定时器 一个按键 2 相关设置 利用定时器计时中断 10ms进行一次按键扫描 3 使用说明 定时器中断的优先级要设置高一点 相关的宏定
  • Matplotlib控制线条的颜色与风格

    通常对图形的第一次调整是调整它线条的颜色与风格 plt plot 函数可以通过相应的参数设置颜色与风格 要修改颜色 就可以使用 color 参数 它支持各种颜色值的字符串 颜色的不同表示方法如下所示 plt plot x np sin x
  • 面试第一关:自我介绍【含自我介绍模板】

    芝士AI吃鱼 了解更多的面试 AI知识经验 自我介绍是每一个面试必不可少的环节 也是求职应聘必须克服的一关 通过自我介绍 吸引面试官的注意力 自我介绍是你与面试官建立联系的第一步 也是面试的一个重要环节 通过一个清晰 有条理的自我介绍 你可
  • 最详细查看apk签名信息

    首先你需要java环境 或者你安装了Android Studio 随便用手机下载一个apk 这里我用的是QQ的apk 然后将这个apk发送到电脑上 接下来将这个 apk后缀名改为 zip 如下图所示 然后就是超简单的解压缩 然后你可以看到下
  • 什么是数据安全性?

    数据安全性是指在数字信息的整个生命周期中保护数字信息不受未经授权的访问 损坏或盗窃 这个概念涵盖了信息安全的各个方面 从硬件和存储设备的物理安全到管理和访问控制 以及软件应用程序的逻辑安全 数据安全涉及部署工具和技术 以增强组织对其关键数据
  • rust react tauri app 现有前端项目打包(windows)

    现有前端项目打包 环境配置 nodejs及相应包管理器 npm或yarn rust 开发环境 WebView2 安装 下载地址https developer microsoft com en us microsoft edge webvie
  • 导入exel后端校验完直接返回结果excel流前端自动下载

    var formData new FormData layero find form 0 var xhr new XMLHttpRequest xhr responseType blob xhr onload function e if t
  • mysql 5.7 主从配置优化_mysql-5.7的主从配置

    mysql的主从配置 下载最新mysql 的yum源 1 wget https dev mysql com get mysql57 community release el6 11 noarch rpm 安装最新mysql rpm ivh
  • mysql binlog 日志详解

    一 binlog概述 binlog是Mysql sever层维护的一种二进制日志 与innodb引擎中的redo undolog是完全不同的日志 其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句 并以 事务 的形式保存在磁盘中
  • SpringBoot对数据进行持久化

    SpringBoot关闭服务后 对数据进行持久化操作 文章目录 SpringBoot关闭服务后 对数据进行持久化操作 1 放入需要持久化的数据 2 调用自定义的销毁方法 3 关闭程序可见控制台输入需要持久化的数据 提示 以下是本篇文章正文内