前后端分离部署:原生部署、宝塔方式部署、Docker部署、工作流部署
-
前端:npm run build项目打包
-
后端:
backend 项目:web 项目,部署 spring boot 的 jar 包(对外的)
gateway 网关项目:web 项目,部署 spring boot 的 jar 包(对外的)
interface 模拟接口项目:web 项目,部署 spring boot 的 jar 包(不建议对外暴露的)
关键:网络必须要连通
Sot the lot of you.I do what I like
前后端分离部署:原生部署、宝塔方式部署、Docker部署、工作流部署
前端:npm run build项目打包
后端:
backend 项目:web 项目,部署 spring boot 的 jar 包(对外的)
gateway 网关项目:web 项目,部署 spring boot 的 jar 包(对外的)
interface 模拟接口项目:web 项目,部署 spring boot 的 jar 包(不建议对外暴露的)
关键:网络必须要连通
网关业务逻辑梳理
问题:网关项目比较纯净,没有操作数据库的包、并且还要调用之前项目写过的代码,复制粘贴维护麻烦。
理想:直接请求到其他项目的方法(调用)
目前网关项目遇到一个问题,就是网关项目比较纯净,没有涉及数据库操作的包,但同时需要调用之前编写过的代码。尽管复制粘贴一开始并不麻烦,但是随着次数增多以及未来的修改维护,就变得相当繁琐了。(考虑系统迭代的可维护性和可扩展性)
因此,理想情况就是希望能够直接请求 api-platform-backend 项目中的 invokeCount 方法,此处引入一个概念:远程过程调用(RPC)。
(1)流程设计
基于现有接口管理模块开发一个用于发布和下线接口的功能。本质上来说,就是改变每条接口数据的状态。在设计接口信息表时,之前已经预留了一个状态字段status。其中,关闭和开启分别对应接口的下线和上线。只有状态为 1 的接口才可以被用户调用,否则将无法调用。(优先后台接口开发,后续完善页面设计)
(2)功能设计
开发发布接口和下线接口(仅管理员可操作这两个接口,防止用户越权操作)。大致规划一下思路:
发布接口:这个接口需要执行哪些任务呢?首先需要验证接口是否存在,然后判断接口是否可调用,否则访问接口都是 404,影响用户体验。如果接口可以调用,需要修改数据库中该接口的状态为 1,表示接口已经被发布,状态默认为 0(关闭)。
参考学习资料:极客时间 MySQL实战45讲(丁奇)
MySQL可以分为 server层和存储引擎层。
server层包括连接器、查询缓存、分析器、优化器、执行器等。涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等
存储引擎负责数据的存储和提取。默认使用innodb,在建表时可以自行选择
基于 Java SpringBoot 的项目初始模板,整合了常用框架和主流业务的示例代,进而可以在此基础上快速开发自己的项目,避免重复造轮子
参考springboot-init项目
[toc]
从现有开发项目功能模块分析而言,抽离公共的功能代码模块,每个子系统作为一个大的功能模块单独独立出来。如果子系统之间需要调用接口,则可通过HttpClient或者是其他方式实现API调用。
基于公共的用户权限管理模块,完善后台系统管理体系,整合前台用户系统,优化系统结构
RBAC模块说明
[TOC]
参考链接:
https://blog.csdn.net/weixin_41012481/article/details/103822835
http://www.360doc.com/content/17/0903/22/16915_684424553.shtml
Springboot+Shiro-项目搭建参考:https://www.jianshu.com/p/35ee0ff8f969
https://cloud.tencent.com/developer/article/1499013
[TOC]
返回数据格式统一:https://blog.csdn.net/qq_37813031/article/details/105351187
项目前后端数据交互参考说明:
https://blog.csdn.net/qq_20957669/article/details/89227840
https://www.jianshu.com/p/33cc0c4e070b
https://blog.csdn.net/yelllowcong/article/details/79711429
SpringMVC的基础知识
什么是SpringMVC?
SpringMVC框架原理(掌握)
前端控制器、处理器映射器、处理器适配器、视图解析器
SpringMVC的入门程序
目的:对前端控制、处理器映射器、处理器适配器、视图解析器学习
非注解的处理器映射器、非注解的处理器适配器
注解的处理器映射器、处理器适配器
SpringMVC和MyBatis的整合
SpringMVC注解开发(重点)
常用的注解学习
参数绑定(简单类型、POJO、集合类型)
自定义参数绑定
[TOC]
Spring是分层的JavaSE/JavaEE 一站式服务, 轻量级的开源框架
JavaEE程序在服务器被分为三层, web层[表现层] 业务逻辑层, 数据访问层[集成层,持久层]
web层 SpringMVC --表现层
业务层 Sping的Bean的管理, AOP的管理,事务管理
持久层 SpringJDBCTemplate ORM模块(整合其他的ORM比如MyBatis或者HIbernate)