⼈⼈快速开发平台开发⽂档纯个⼈⼿撸跟官⽹的不⼀样
1、配置
1) 从l 开始 parent 依赖包(包括springboot的所有依赖及Spring-Mybatis 的整合包,常⽤⼯具包);
2)Java环境依赖 Java-version
3) 数据库驱动包 MySQL包;
4) 任务调度依赖 quartz
5) 系统权限框架依赖 shiro 框架集成
6) 配置⽂件
(1)xml ⽂件
MySQL 数据库和实体的驼峰映射配置
⽇志⽂件输出 Dev(开发环境) test(测试环境) pro(⽣产环境:俗称正式环境)
(2)yml ⽂件(SpringBoot 开始引⼊的⼀种json格式的配置⽂件 功能类似于properties)
以⽣产环境为例(DEV)
⾸先配置数据库驱动DataSource 分布式数据库设计(这⾥只使⽤⼀个)
整体yml ⽂件开始
配置内置Tomcat 项⽬名,端⼝号,最⼤连接数等;
激活l 配置⽂件;
格式化输出 jackson
指定静态资源路径(只针对静态资源,不针对请求)
配置Mybatis *.xml ⽂件扫描(可称之为指定路径)
2、项⽬开发
1)创建数据库 -->MySQL 数据库 指定主键ID
2)modules ⽂件下创建包名(⼀般为业务名 如 business )
(1) 包括entity(实体) 对应MySQL 数据库 和 resource ⽂件夹下 mapper 下的.xml ⽂件
(2) Service (接⼝类) 对外暴露接⼝
(3) implements (接⼝实现类) 实现接⼝的⽅法
(4) dao (dao层接⼝) 映射mapper ⽂件 接⼝实现接⼝的形式 去实现Service的 接⼝在实现类中调⽤
3) 控制器(拿出来另说)
(1) 请求处理、权限管理、业务数据处理
(2) 基于注解形式
@Autowired 注⼊Service
@RestController 指定为控制器
@RequestMapping 或 @PostMapping 或 @GetMapping 指定数据接⼝路径
@RequiresPermissions 指定 shiro 权限 根据页⾯配置的 权限标识
(3) 返回实体基于 R (实体) 实现了Map接⼝ 这⾥的 HashMap也是实现了Map 接⼝ 所以整体是实现了Map 接⼝
可以扩展 重写 error ⽅法 或者 OK ⽅法
(4) 请求参数封装
Query 将所有的param 在接受的时候 全部封装在map 集合中 再整体封装在Query中 (期间计算⼀些分页所需数据)
(5) 请求过滤 ShiroConfig --> shirFilter 所有的请求都会在这个过滤器中过滤 filterMap 中的请求可以在⽆token时进⾏直接请求 ⽆论是post还是get 否则会报401 权限不⾜的错误
(6) 登录模块
验证码 随机⽣成 IOUtils.closeQuietly(out); 输出图⽚开发一个平台需要多少钱
登录的时候验证⽤户名、密码、和session中的验证码 通过⽤户名(登录名) 取出 ⽤户密码 再跟⽤Sha256Hash 加密算法加密的字符串进⾏⽐对
(7) token 所有的请求都会验证token(除被ShiroConfig过滤掉的 ) AuthorizationInterceptor.preHandle(验证token 然后转发请求) token 会有⼀个过期时间 12个⼩时 判断token是⽤户请求的⼀个关键点,token在Header 中 不在请求的请求体中
(8) 重写AuthenticatingFilter 中的⽅法 isAccessAllowed 这个⽅法直接废掉 原来是在这⾥⾯可以处理直接转发请求 但是引⼊shiro 后则所有请求都⾸先经过onAccessDenied,获取请求token,如果token不存在,直接返回401(从header中获取token,如果header中不存在token,则从参数中获取token)
4) 前端界⾯ 前后端完全分离的情况 可以说⽤另外的⼀个web项⽬发布所有的 html ⽂件 来请求后台也是OK的 HTML 作为静态资源存在于项⽬中 HTML 代码⽐jsp的优点在于 纯静态 加载速度快 易于优化
(1) 新闻栏为例
整体构思: bootstrap 样式 + jqgrid (表格) + Vue.js (对象数据) 让你同学去了解⼀下VUEJS 的基本语法就OK了
页⾯初始化的时候加载JS⽂件 然后渲染出JqGrid 所绑定的 ID 对应的 Table (有点绕 你理解⼀下)
Vue 通过绑定 指定的参数赋值 指定的click ⽅法 指定的model 赋值或取值 等
⾄此 项⽬开发就OK了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论