我需要实现某种必须安装在客户端计算机上的Java应用程序。
主要要求:
现在我正在考虑在Spring Boot上实现这个应用程序。它将允许我们在嵌入式Tomcat上简单地运行应用程序,而无需安装独立的Tomcat服务器。
此外,对于内部数据存储(RDBMS),我计划使用嵌入式H2或Derby数据库。主要标准 - 应用程序重启之间的数据必须是持久的。
对于RESTful Web服务,我计划在Spring MVC上使用Spring RestController。
您如何看待我的选择?它可以使用这些工具吗?感谢
答案 0 :(得分:1)
你的选择似乎很好。
我实际上已经实现了这些组件的应用程序。作为数据库我选择H2因为它有 与Derby相比,我需要features,特别是对创建域名的支持非常重要。通常H2似乎比Derby具有更多功能。
截至数据持久性,我只能说到目前为止我没有遇到任何问题。
使用@RestController
可以轻松实现RESTful API。
您可以在使用用户凭据登录后运行Spring Boot应用程序,并将H2数据库文件保存在用户个人文件夹中的某处。
作为一个优点,运行这样的本地Java应用程序,您可以访问本地文件系统(例如,直接在“我的文档”中存储PDF报告。
修改强>
您可以在应用程序准备就绪时自动启动浏览器,从上次初始化的bean:
@Value("${server.port}")
private String serverPort;
@Value("${server.context-path}")
private String serverContextPath;
public void openAppInBrowser() {
final Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null;
if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
logger.debug("Open Browser.");
try {
desktop.browse(new URI("http://localhost" +
(StringUtils.isNotEmpty(serverPort) ? ":" + serverPort : "") +
(StringUtils.isNotEmpty(serverContextPath) ? serverContextPath : "")));
} catch (final Exception e) {
logger.debug("Error opening Browser", e);
}
}
}