从0到1,如何搭建一个好用的springboot开源项目
java思维导图 2019-10-14 15:41:43
脚手架?
git社区有很多好用的开源脚手架项目,一般都是后台管理系统,比如renren-fast、guns等。这里我有两个疑问:
为什么脚手架项目一般都是后台管理系统?
为什么这样的脚手架项目会受到大家的追捧?
答:
因为每个项目都需要一个后台来管理所有资源,必不可少,其中权限模块,文件模块,监控模块、基础数据模块等是几乎是一个完善的后台管理系统的必备功能。而业务是不一定的,每个公司需要开发的业务都不一样,所以无法做到统一,这需要公司定制。
但虽然业务不一样,但是还有些技术上的实现是共同的,比如文件上传、token机制、预防攻击、防注入、动态数据源等等,这些很多业务技术支持上都需要用到,于是,脚手架系统就诞生了。
至于一个脚手架项目为什么会受欢迎,可以总结一下几点:
可插拔式功能拓展,需要与不需要的功能通过一键注解或配置文件控制
基础功能封装完善,可尽量少些代码
安全、性能方面有考虑
主流的框架组合、大量的文档可以搜索
完善的项目文档,让开发者快速入手
代码生成,提高基本功能的开发效率
等等
所以,通常我们从0开始设计一个项目,一般也不会真正从0开始写代码,而是先选择脚手架,然后在基础上添加业务代码,这样可以大大提高项目的开发效率,从而减少成本。
好了,写了一堆的废话,下面我们去分析一下,一个脚手架项目具体需要什么功能模块,然后要做哪些封装,用什么技术能事半功倍。
技术选型
说到技术选型,得考虑一下项目需不需要做前后端分离的?现在很多公司都喜欢前后端分离,一套接口解决pc、app、h5等。从效率上来看的确挺好的,也是趋势。当然了,今天的这篇文章着重点也不会放在前端上,后端的封装才是我们重点之中的重点。
我们以前后端分离项目来选择技术:
前端
vue、vue-element-admin、layui
后端
基本框架:springbo