[造轮子]基于java+typescript 前后端分离项目骨架

本文介绍了一个基于SpringBoot的全栈项目实例,涵盖了从前端到后端的技术选型及目录结构,包括node+express、.netCore+EF、java+Mybatis等技术组合,并提供了数据库初始化、权限管理、API文档生成等方面的细节。

引言

造轮子是不可能停止的,这辈子都不可能停止的。轮子造的好,外快拿不少。

为了满足不同系统下的不同架构需求,就有了这篇轮子说。

为了Microsoft!所以有了基于.net Core + EF 的骨架。

为了oracle! 所以有了基于 java +Mybatis 的骨架。

为了 chome! 所以有了基于node +experss 的骨架。

项目技术栈

后端技术统计:

  • 后端骨架: springboot
  • 数据库 : [mysql,mssql]
  • Orm: Mybatis,Mybatis-plus,
  • 权限组件: Shiro
  • ddd模式:
  • JWTtoken :实现restful api接口,无状态授权认证
  • 自注解 :实现@Pass,@Log,@Current 注解功能
  • SpringAOP 切面注入事务,过滤请求,防止xss攻击
  • Bcrypt加密 :保证密码安全性
  • 基于u-r-p的权限体系:用户-角色-授权体系,接口只需要关心权限。
  • DataCreator:项目初始数据初始化。
  • MpGenerater:项目代码生成器,减少60%开发。
  • SwaggerUi :api接口文档,authoration认证

前端技术统计:

  • 语言: node,typescript
  • ui库: iview,vue
  • 组件: vuex,router,axios,singlr...
  • 全局utils:封装通用方法,异常类,cookie,session帮助类
  • 通用查询条件:table展示,filter过滤自动装配.

目录树

├────────────────
│  .gitignore   //配置文件
│  init.sql     //数据库初始化sql脚本
│  pom.xml      //springboot pom配置
│  README.md    //readme
│  sale.iml     //...
├─dashboard     //前端目录结构
│  │  .gitignore    //...
│  │  .npmrc        //...
│  │  package.json  //
│  │  tsconfig.json  //ts项目配置文件
│  │  vue.config.js  //vue配置
│  │  yarn.lock  
│  ├─node_modules  //依赖库         
│  ├─public     //公共库        
│  └─src        //源文件     
├─src   //java服务端源码
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─monkey
│  │  └─resources //资源路径
│  └─test  //测试相关
│      └─java
└─target //打包文件
复制代码

服务端结构

通过git 下载源码,项目基于 ^jdk1.8,^node6.0
使用maven项目管理,IDE推荐ijidea.
直接ide导入pom文件 自动还原依赖
修改~/resources/config/application-dev.properties 内数据库名以及相关信息.
使用init.sql初始化数据库信息。
ide直接运行SpringbootApplication.java 可以启动项目
访问 http://localhost:8081/swagger-ui.html#/ 直观api文档
或者 在根目录(pom所在目录) shell执行 mvn clean package 
在target内直接执行打包好的jar文件 也可以。
复制代码

客户端架构

通过vscode打开dashboard文件夹
shell内执行 npm install 还原依赖
npm run serve 启动项目
npm run build 打包项目
复制代码

示例页面

git地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值