1. 程式人生 > >SpringBoot整合Mybatis實現簡單的CRUD(2)

SpringBoot整合Mybatis實現簡單的CRUD(2)

思考

看了上面一步步的講解。你應該明白了,其實和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。