SpringBoot整合Mybatis实现简单的CRUD(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shitianhang123/article/details/84939903

思考

看了上面一步步的讲解。你应该明白了,其实和SSM阶段的CRUD基本相同,这里我就不再举例其他方法。

下面我们讲解一下不同的地方:

实现页面跳转

因为Thymeleaf指定的目录src/main/resources/templates/是受保护的目录,其下的资源不能直接通过浏览器访问,可以使用Controller映射的方式访问,怎么映射呢?

1.在application.yml中添加配置

 指定Thymeleaf模板引擎扫描resources下的templates文件夹中已.html结尾的文件。这样就实现了MVC中关于视图解析器的配置:

是不是感觉方便很多呢?但这里需要注意的是:classpath:后的目录地址一定要先加/,比如目前的classpath:/templates/

2.在Controller添加映射方法

 这样,访问localhost:8080/index将直接跳转到resources/templates/home/index.html页面。

实现分页查询

首先我们需要在application.yml中配置pageHelper插件

 我这里使用了Mybatis的PageHelper分页插件,前端使用了ElementUI自带的分页插件

核心配置:

UserServiceImp.java

实现文件上传

这里涉及的无非就是SpringMVC的文件上传

因为本项目中前端使用了ElementUI+Vue.JS技术

除了代码的编写,这里还要在application.yml中进行配置:

 这就相当于SpringMVC的XML配置:

使用Spring AOP切面编程实现简单的登录拦截器

本项目,我们先不整合Shiro和Spring Security这些安全框架,使用Spring AOP切面编程思想实现简单的登录拦截:

解释

关于Spring AOP的切面编程请自行百度

  1. 一定要熟悉AspectJ的切点表达式,在这里:..*表示其目录下的所有方法和子目录方法。

  2. 如果进行了登录拦截,即在session中没有获取到用户的登录信息,我们可能需要手动转发到login页面,这里访问的是login映射。

  3. 基于2,一定要指定Object返回值,若AOP拦截的Controller return了一个视图地址,那么本来Controller应该跳转到这个视图地址的,但是被AOP拦截了,那么原来Controller仍会执行return,但是视图地址却找不到404了。

  4. 切记一定要调用proceed()方法,proceed():执行被通知的方法,如不调用将会阻止被通知的方法的调用,也就导致Controller中的return会404。

猜你喜欢

转载自blog.csdn.net/shitianhang123/article/details/84939903