springboot整合ssm框架,並整合swagger介面管理和通用的mapper
一直就有想將學習到的東西寫下來的想法,可是一直沒實施,以前覺得沒什麼,近期來才發現這是一很嚴重的問題,因為有時你不把學會的東西記下來,那麼只要一段時間不去應用它,那麼就會慢慢遺忘,所以現在就讓我真正踏出學習的第一步吧。由於是很粗燥的一次整合,有許多不足之處,請大家見諒,同時也請大家多多評價,提意見,共同進步!好了,開正題吧。
一、首先咋們先看看一個框架的整體目錄結構:
二、就是整合咋們的ssm(spring+springmvc+mybatis)框架了,在這對於詳細的ssm框架就不多介紹了,主要的目的是整合,當然後續我也會將ssm框架仔細的整理一遍,期望以後大家多多關照。在此我整合這個框架的時候是使用的配置檔案(application.properties)的整合方式,因為這比較簡潔省力,以前的javabean方式的整合我就不多介紹了
1、剛開始先建立一個簡單的springboot專案,只需剛開始的web依賴就可以,其次,因為springboot已經集成了spring和springmvc的框架,那麼唯一需要注意整合的就是mybatis了,當然了資料庫連線的依賴卻也不能少。
*引入mybatis和通用mapper的依賴
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
*swagger的pom依賴
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
*資料庫連線的依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
*在配置檔案application.properties檔案中新增mybatis配置當然這裡也包括了我寫完的資料庫、通用mapper的配置
2、那麼要整合ssm還需什麼呢?大家想想springboot是如何知道你要去怎樣處理sql檔案,去哪兒處理,此時就需要在springboot的啟動項中新增這樣的註解@MapperScan("你的dao層的包")。這就是整合ssm的步驟,下面再說mapper和swagger的整合,這些後挺簡單的。
3、swagger的配置(關於swagger詳細內容及原始碼我不瞭解,只知道是api介面的管理工具,以及我們在專案中使用它來測試後臺所編寫的介面,其他不怎麼了解,當然有想了解的朋友可以去官網好好找找這方面的文件)
在配置swagger只需寫一個載入配置的java類並將相應的註解寫上就可以了,如圖(主要是將你的介面資訊暴露出去),這樣就可以在controller層寫有關的swagger註解了,最後執行專案,訪問http://localhost:8080/swagger-ui.html就可以了
4、最後就是關於mapper的配置了,這個我們要注意幾點
首先我們新建個介面讓他繼承mapper(當然介面和mapper介面都是泛型)
如:
其次在application.properties 檔案中我們要注意將你新建的BaseMapper必須在配置檔案載入到:
如:
最後就是在springboot的啟動項中的@MapperScan的包要導成通用mapper的
如:
*以上就是我自己的一些理解比較淺,同時也是我第一次寫部落格,有各種不知道如何使用的東西,如上面我都是用的是圖片要不就是複製我專案的純文字,不知道要使用什麼格式才能將圖和文字一起上傳上來,請大家多多指教!