后台项目总结

Controller层校验

入参校验

具体使用详见Bean Validation参数校验

在controller层进行入参校验,在springBoot项目中使用spring-boot-starter-validation进行集成。

spring-boot-starter-web2.1.5.RELEASE版本中包含了hibernate-validator6.0.16版本,不需要额外引入。

正确的食用参数校验可以避免大量的if-else参数判断

通过@Constraint注解可以实现自定义的参数校验,需要指定的参数class实现自ConstraintValidator

服务层调用

通过注入的service层进行正常调用,如果结果与预期不符合直接抛出一个异常,如果正常结束返回正常的结果,如果是引发的异常通过全局的异常处理器进行统一处理

Service层调用

service层使用的mybatis-plus的一个orm映射框架,通过lambda表达式进行增删改查逻辑处理。

由于mysql数据库是无法存储list集合,需要在给list集合的字段指定typeHandler自定义handler继承自BaseTypeHandler,通过fastjson进行序列化和反序列化操作。

通过@Transactional来开启事务,在简易的模型当中应当尽量避免开启事务

dao层增删改查

dao层只需要定义一个接口继承自BaseMapper,mybatis会自动的帮我们生成大量的增删改查语句,无需手动生成,当然也可以通过注解和xml文件进行新增sql语句,注解的方式只适用于简单的sql,如果是复杂的sql语句建议使用xml文件生成。

domain层

domain主要使用hibernate-validator进行参数校验,当然也可以在controller层进行调用,在调用参数校验的外部需要添加@Validated注解,对于一些复杂的校验模型可以选择自定义参数校验注解

实体类通过lombok的注解简化了大量的重复性工作。

对于集合需要手动创建handler进行处理

在分页场景中使用的pagehelper进行分页查询,在使用之前需要配置分页拦截器

minio 文件存储

定义一套service接口对存储在minio桶中的文件进行新增、获取、删除,当然文件获取也可以通过nginx配置文件来获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值