技术选型
- JAVA版本:JDK11
- 数据库:Mysql5.7+Navicat
- 后端框架:SpringBoot2.7.1 + SpringMVC + Mybatis-Plus3.5.0
- 权限控制:SpringSecurity
- 前端框架:AdminLTE2
- 模板引擎:Thymeleaf
- 工具类:发邮件工具类、生成验证码工具类
- 其他技术:lombok、ajax、logback
学到了什么:
前端:
AdminLTE框架
前端分页插件
富文本编辑器
富文本编译器上传图片时,如果是上传本地图片需要手动配置服务器路径,上传图片过后需要有返回值result和data,result必须为0,data为返回的数据
请求头Referer中存的即为跳转之前的页面
th:fragment和th:replace和th:block
JavaScript代码必须在jQuery.js文件之后。建议把jQuery.js文件放在所有JavaScript代码的前面,这样就不会出现这种错误了。
后端:
1、idea快捷方式:
ctrl+f查找
ctrl+r替换
2、验证码工具类
3、发送邮件工具类(需要引入java自己的发送邮件依赖)
4、BeanUtils工具类
5、所有路径都会访问控制器
6、重定向的作用之一:重新获取静态资源
7、security认证时,表单提交的用户名和密码的name属性必须为username和password
8、springboot中在static目录下的静态资源可以直接访问,不需要添加/static路径
9、MySQL没有内置的布尔类型。 但是它使用TINYINT(1)。 为了更方便,MySQL提供BOOLEAN或BOOL作为TINYINT(1)的同义词。
在MySQL中,0被认为是false,非零值被认为是true。 要使用布尔文本,可以使用常量TRUE和FALSE来分别计算为1和0。
10、 security提供的获取登录用户名的对象 :#authentication.name
11、持久层映射文件的查询语句后面不需要添加分号,添加了分号会导致分页查询出错
12、多表分页查询时,只需要在参数中添加Page对象即可,mybatisplus会自动分页查询
遇到的问题:
1、mybatisplus进行查询之前,需要在启动类中使用@MapperScan注解扫描持久层接口
2、mybatisplus进行分页查询时,需要在启动类中添加分页插件
3、Spring MVC传递List类型参数报错:No primary or default constructor found for interface java.util.List]
因为SPring MVC获取参数的唯一要求是参数名称与Http请求参数名称保持一致,但是集合类型需要添加@RequestParam注解
4、持久层映射文件的查询语句后面不需要添加分号,添加了分号会导致分页查询出错
5、重定向可以重新加载静态资源,如果直接跳转页面不会重新加载资源