![](/img/trans.png)
[英]How to store passwords and sensitive data in a desktop client application (Java)?
[英]Desktop application - How to store Data for multiple boots
首先,我知道这里有些问题的标题相似,但用例总是不同的。
我有一个桌面应用程序(Windows / Linux环境),该应用程序是用Spring Boot用Java编写的。 执行为.jar
我希望此应用程序可以关闭并重新启动,并且以前的存储/使用的数据仍然可用。 但是要求是用户不需要单独安装数据库。 我测试了Spring的嵌入式H2数据库功能,但是在应用程序每次重新启动时,它都是空的。 看来此解决方案仅适用于运行时?
我发现的唯一也是唯一的解决方案是使用对象写入并将数据存储为XML,并经过一番努力后重新读取。 但是许多人说这不是存储数据的专业方法。
那么,除了XML之外,还有其他解决方案吗?或者如果不安装外部数据库就无法解决该问题吗?
非常感谢你
您可以使用带有file
H2数据库将数据持久保存到文件中,这样,就不需要单独安装数据库了,在这里查看不同的H2配置。
application.propertiles将如下所示:
spring.datasource.url=jdbc:h2:file:~/data
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=org.h2.Driver
此外,您还可以使用DB_CLOSE_ON_EXIT=FALSE
从关闭VM时存在停止数据库,如解释在这里 。 因此,数据库url为:
spring.datasource.url=jdbc:h2:file:~/data;DB_CLOSE_ON_EXIT=FALSE
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.