学习黑马的“大事件”项目后端总结
以下观点纯个人
一.项目的整体框架:
简单的介绍下(主要是src包):
main包(主要是itheima包下的包):
从上往下是(大部分自己):
- annto:注释包
- config:拦截器注册包
- controller:控制层包
- exception:全局变量设置包
- interceptor:拦截器书写包
- mapper:SQL语句书写包
- pojo:实体类包
- service:服务层包
- serviceImpl:服务层接口包
- utils:工具类包
- validation:注释声明类包
- BigEventApplocation:是启动类
- resources:资源包
- application.yml:配置文件
- pom.xml:依赖注入
在Spring Boot中主要关注的是:
- controller层: controller层接收前端(View)传过来的参数进行业务操作。
- service层:存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法。
- mapper层:也可以称为DAO层,是数据库CRUD的接口,只有方法名,具体实现在mapper.xml文件中,对数据库进行数据持久化操作。
- pojo层:以Java对象/类的形式 表示一个实体
- application.yml配置文件:数据库的连接和其他配置
- pom.xml:多种依赖的注入
二、代码的书写:
书写代码分步骤:
- 先写controller层
- 然后写service层
- 接着写serviceImpi层
- 最后写mapper层
三、数据的校验
对数据的校验一般是分成俩部分:
- 在pojo层进行注释的校验:如下图:
- 是在controller层的方法中加@Validated来声明应用了注解校验数据
扩展:在应用了分组校验的时候,需要在pojo层声明分组
需要在controller层的方法中加@Validated和分组名称,如下:
四、令牌的使用
1. token的简单介绍:token其实可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。
2. 应用场景:
一般用在前后端分离开发
一个加密以后的字符串,该字符串可以被反编译
- 反编译就是加完密之后还可以解开
- 只不过这里的解开需要一把钥匙的(key)
3.执行过程:
- 当用户登陆完成之后,服务端会生成一个令牌。
- 服务器得到令牌之后将其保存。
- 当调用敏感的接口时,需要传递token.
- 服务端会对token进行验证。
4. token的生成
- 先在pom.xml文件中导入相关依赖
- 接收业务数据,生成token
- 验证token并返回业务数据
五. 拦截器的使用
拦截器的使用步骤
第一步:自定义一个实现了Interceptor接口的类,或者继承抽象类AbstractInterceptor。
第二步:在配置文件中注册定义的拦截器。
第三步:在需要使用Action中引用上述定义的拦截器,为了方便也可以将拦截器定义为默认的拦截器,这样在不加特殊说明的情况下,所有的Action都被这个拦截器拦截。
代码网上方便查询,我就不展示了
以后想到再增加!!!
没啥说的放个图