【史上最全】Springboot+VUE前后端分离打造单机EXE应用(一)(连载中)
「持之以恒,乐此不疲」
前言
记得上次写博客还是2018年,转眼间已经过去5年。五年,五年!知道我经历了什么吗? 五年,我做了丈夫;五年,我做了爸爸;五年,也见证了这个行业得到心酸。
说到IT,大家肯定想到的是互联网、物联网。现如今,如果让你开发一个单机EXE应用,你改如何应对?(说唱:我总是临时抱佛脚、临时抱佛脚)
背景
公司接到一个需求,客户想开发一个单机windows应用。对于一个上市大厂而言,做惯了互联网、物联网项目,第一反应就是这个项目跟Java毫无关系,应该找C#的人来做。 但是领导OOXX后(此处省略一万个字),我一个java老男人接到了这个"光荣"的任务。
思考和调研
我们最擅长的是什么?肯定是Springboot+VUE啊。以此作为前提,查资料,咨询人。我的想法很简单,用自己擅长的事去完成任务。废话说的有点多,开干!
技术选型
后台
框架 | 版本 | 说明 |
---|---|---|
SpringBoot | 2.5.3 | 基础框架 |
MybatisPlus | 3.3.1.tmp | 持久化操作 |
fastjson | 1.2.47 | json操作 |
easyexcel | 3.0.5 | excel导入导出 |
zip4j | 1.3.2 | zip压缩解压加密解密 |
shiro | 1.5.3 | 权限 |
java-jwt | 3.4.0 | token实现,解决跨域 |
spring-boot-starter-data-jpa | 随SpringBoot版本 | 自动创建库表,解决单机数据库升级问题 |
spring-boot-starter-freemarker | 随SpringBoot版本 | 导出word,模板操作 |
前台
框架 | 说明 |
---|---|
Element-UI(VUE2) | 前段用啥都行我认为 |
数据库
sqlite。至于为什么选择sqlite,最主要也是单机应用,不可能去安装mysql这样的服务的。也不存在局域网,给你一台机器去安装这些服务的。基本上软件用的服务越少越好,体积越小越好
前期准备
搭建框架、UI设计、写测试用例…(公司正规套路)