笔者团队以前后台都是基于.Net和.NetCore, 今年转Java了,不是.Net相关技术不好,而是在中小城市相关开发人员缺乏,Java相对来说开发人员要丰富很多。
后台有必要重新搭建一个内部的开发框架,由于没有历史积累,直接使用SpringBoot作为基础框架,在此之上再做一个封装。
分享出来给大家参考,此框架适应于中小企业Java实现的WebAPI项目(前后端分离)。大家可以直接使用,但是最好还是理解并修改成适用自己团队的框架。
1.基本结构
image.png
如上图,我们的框架包含很多库,其中d1.framework.webapi和d1.framework.cache是所有webapi项目都必须依赖的,其它的库是看需求选择依赖的。下面列出所有库的基本功能:
d1.framework.webapi: 业务项目依赖的基本库,包含springboot相关很多功能的封装,比如Application、Entity、Service、Controller等基类,还有swagger、跨域,权限统一认证,日志相关等等,后面单独说明。
d1.framework.cache: 缓存相关的库,因为d1.framework.webapi依赖这个库,所以所有业务项目也都依赖它,一个接口外加ehcache和redis的实现,实际业务项目中选择一种就可以。
d1.framework.storage: 不是必须依赖的库,一个接口外加本地文件存储和七牛云存储的实现。