Springboot + Mybatis + Thymeleaf整合
首先我們來講一下springboot,springboot主張無xml配置,但是還是需要一些最基礎的信息配置的,例如sql賬號密碼的設置,在簡潔你的賬號密碼還是需要你自己配置的,它是沒辦法幫你自動生成的。所以一般配置文件都是放到resources下的;
然後再提下maven,maven是一個爲我們管理jar包的,他會爲我們自動生成項目骨架,maven中的座標、倉庫、聚合和繼承等等的我就不再提了,大家自行去學習;
咱們在搭建三層的時候,把三層都放在Application類所在的包下,原因很簡單,SpringBoot項目的Bean裝配默認規則是根據Application類所在的包位置從上往下掃描,如果Application類所在的包爲:com.boot.app,則只會掃描com.boot.app包及其所有子包,如果service或dao所在包不在com.boot.app及其子包下,則不會被掃描到;
在這裏再提幾個註解:
@Controller :處理http請求
@RestController :Spring4之後新加的註解,返回原來的json需要@ResponseBody配合@Controller
@RequestMapping :配置URL映射
@PathVariable :獲取URL中的數據
@RequestParam :獲取請求參數的值
@GetMapping :組合註解
@repository來註解接口,我們照樣可以注入到接口的實現類)
現在進入編碼時間,首先是咱們的實體類:
實際上呢,我的實體類是根據數據庫中的表自動創建的,如果要自動創建實體類而非手動,你需要引入依賴,這裏就不再講了,接下來是dao層接口:
這裏我就只演示一個查詢數量的方法,因爲當你學會一個之後,你會發現你特別有成就感,這個時候去自主解決剩下的,你會感覺到那種學習的樂趣,下面是dao層的mapper.xml:
這邊我用的是sql標籤,其實只用select標籤也是完全沒問題的,但是我比較喜歡用一些新鮮的東西來充實我的技術點,接下來是業務層接口:
業務層實現類:
yml配置:
接下來是最重要的pom.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion><groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging><name>demo</name>
<description>Demo project for Spring Boot</description><parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent><properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties><dependencies>
<!-- thymeleaf依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency><dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies><build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
然後是控制層:
控制層用@RestController註解也可以實現,但是我這裏引用的是thymeleaf模塊,所以我這裏用的是@Controller註解,Thymeleaf與Spring集成後,你可以:
在SpringMVC應用中完全替代JSP文件,就像控制JSP一樣,使用SpringMvc的@Controller註解來映射;
Thymeleaf的模板文件在模板中使用SpringEL表達式來替換OGNL;
在模板中創建的表單,完全支持Beans和結果的綁定,包括使用PropertyEditor,轉換,和驗證等;
可以通過Spring來管理國際化文件顯示國際化信息;
這就是一個最簡單的thymeleaf模板,以上一切OK了後,你運行就可以去瀏覽器裏面看到結果了,好了,項目整合到此結束!
謝謝觀看!!