记录一些自己在电商项目上遇到和解决了一些问题的经验,提高日后的开发能力和效率

1、使用逆向工程生成实体类和Mapper

本机逆向工程代码实例位置:E:\devTools\maven-tools\逆向工程实例代码\mybatis-generator

逆向工程生成的类中有很多的注释,批量删除注释的方法:

ctrl + R 正则表达式匹配:

(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|[ \t]*//.*)

2、单元测试写法:

单元测试时,自定义的测试类要这么写:

3、Service层处理业务逻辑功能更清晰

例如:service层下有异常处理包,有service接口,有接口的实现类impl包

快捷键:ctrl + alt + t 对选中的代码块进行环绕,例如 if 、while 、for 、try等等

4、service中的注册功能进行密码加密:

盐值若不记录在数据库的话,会导致登录功能有误

外部定义一个调md5加密算法的方法:

5、控制层封装响应结果集对象

当中要包含状态码、描述信息、带泛型的数据,以此对象返回前端

其中描述信息中,要将捕获的异常赋值进去,这样前端就能显示后台出了什么问题

6、Controller层定义用于统一异常处理的基类BaseController

使用@ExceptionHandler(要拦截的异常类.class) 注解进行异常统一拦截处理

@ExceptionHandler注解用于统一处理方法抛出的异常。当我们使用这个注解时,需要定义一个 异常的处理方法,再给这个方法加上@ExceptionHandler注解,这个方法就会处理类中其他方法 (被@RequestMapping注解)抛出的异常。@ExceptionHandler注解中可以添加参数,参数是某 个异常类的class,代表这个方法专门处理该类异常。

又回顾了一遍ajax局部刷新向后台发送请求的流程,学习了一个新的传递参数的方式:
使用Ajax传递参数的时候,可以用serialize直接获取被选择的表单内所有参数值
一起传值给后端,后端使用的springboot的话可以自动装配参数



7、使用会话Session的收获

用session进行登录功能时,将获取session的对象封装到了controller层的基类中 (controller层中所有的controller都继承这个基类)


8、使用框架中的拦截器HandlerInterceptor:

在访问某些页面时拦截未登录的用户,有三个方法,一般只用preHandle()方法

有拦截器还不够,因为有些页面,用户未登录也可以访问,不能全部拦截
所以需要使用servlet中的过滤器来指定白名单(未登录可以访问的url)和黑名单(未登录不能访问的url)


9、servlet中的过滤器: