版权声明:第一次写文章,有什么需要补充的还望各位大神多多指教。 https://blog.csdn.net/mengxiangxingdong/article/details/83827969
最近有感于技术的焦虑,加上技术会的比较杂,不够深入,这样下去怕自己在专业的道路越走越远,加上最近接触的软件订单的增多,所以想根据这三年的经验,一边回顾一边打造一个自己的快速开发web项目脚手架,为了方便学习,所以会以一个新手的角度从开始去讲这个系列的文章,所以就命名为“一步步搭建快速开发web项目”
目标
1.整理着三年的经验学习到的技术以及关于web的公共的技术进行整理
2.后台项目设计通用模块配合代码生成器做一个快速开发的脚手架
3.完善整理springboot技术
业务选型
因为方便学习所以只做一个简单的新闻管理系统前后台
技术选型
1.后端
springboot
springmvc
mybatis
mybatis-plus
shiro
Apache commons系列项目
druid
mysql
quartz
poi
itext
beetl
2.前端
bootstrap或者layui
jquery
underscore
jQuery Validate
intro.js
用户引导
echarts
展示一些性能分析等等
jquery.form
ueditor
3.质量保障
sonar
4.快速开发
len代码生成器
规范文档
大多数参考阿里巴巴手册
项目大纲
这边的话,目前只是暂定一些主要的目录,后期在写文章中,再进行相应的调整,但是大体不会偏离,在整个系列写完会更新这个目录,并添加对应的链接
后台
1.搭建基础springboot项目能够启动
介绍操作环境
2.集成springmvc可以网页访问成功
3.集成mybatis+mybatis-plus+druid+mysql实现简单的用户增删改查
参考gen提前设计好用户,角色,权限,部门的表
引入commons-config进行热加载配置
引入lombok 记录日志和减少model的getset
引入commons-codes实现密码和随机盐加密
引入commons-lang进行通用工具类的验证
4.集成bootstrap一个框架实现web端的一个用户的增删改查
抽离高频使用工具类
引入热部署
引入aop,实现快速调试
正则常量bean和全局常量抽离
引入日期控件增加日期范围查询
引入jQuery Validate进行前端数据校验
引入select2达到select支持搜索,或者引入其他select插件保证样式的兼容
5.集成shiro打造登录功能
引入开源验证码生成
6.用户管理增加冻结,解决冻结,重置密码功能
7.新增部门功能,并完善用户的部门功能
公共模块html抽离,引入beetl进行页面的静态化的保障
8.新增权限功能,通过url控制功能权限
9.新增角色功能,完善用户全部功能
10.完善回顾整理
新增功能权限自动添加到权限表中
并且超级管理员自动拥有这个权限
11.采用len代码生成器,打造tree和table模板
12.增加登录日志功能
13.增加业务日志功能
引入自定义错误工具类,达到错误问题友好展示
增加性能分析功能模块
引入mybatis-plus的sql分析插件
druid的页面
jvm监控
访问频率监控
定时扫描删除过期日志
14.增加全局异常梳理,增加404页面
15.整理回顾,树立通用版本v1.0
16.设计新闻表和菜单表关联
并且分类访问采用占位符方式访问,做到权限 和灵活控制新闻分离
17.新闻的简单的增删改查
18.新闻内容采用ueditor编辑器
html的代码的转移与反转,java和js采用一致
js采用underscore
19.打造新闻图片上传和通用图片展示接口
缩略图与图片放大展示
20.打造新闻图片的附件上传通用接口和下载
在线预览文档
21.完善补充功能,建立v1.1
21.数据冷热备份
引入quartz定时执行脚本
引入commons-exec简化操作脚本命令
开源备份工具了解
定时扫描删除过期数据备份
22.通用功能-excel根据对象导入与生成
23.通用功能-json根据对象导入与生成
24.通用功能-xml根据对象导入与生成
25.通用功能根据模板生成word
26.通用功能根据模板生成pdf
27.通用邮件功能
28.通用短信功能
29.图片处理工具类
背景图
水印
30.完善回顾 建立v1.2分支
31.开源组件常用功能介绍
32.其他的补充
前台
1.设计404页面
2.设计前台的新闻对应的菜单和内容展示
3.首页引入轮播图和子模块
4.引入quartz +beetl 首页模板定时静态化