springboot+swagger2.10.5+mybatis-plus 入門詳解
最新idea2020安裝部署超詳細教程
懂得懂的
2020.3
2020.2.4
2020.2.3
2020.2.2
20.2.1
2019.3
2018.3
最新2020永久
springboot簡介:
個人對springboot的一點小的理解:
1.最大優勢:簡化配置
區別於傳統的 MVC 模式,對於配置進行瞭大量的簡化,魔鬼註解:SpringBootApplication 中包含瞭的註解
@SpringBootConfiguration @EnableAutoConfiguration @ComponentScan
基本包含瞭傳統項目啟動所需要的註解
2.將原始的 tomcat 等 web 容器默認引入,不需要配置 web 容器
2020-12-23 14:56:23.683 INFO 11124 --- [main] c.l.d.DataStandardApplication : The following profiles are active: dev 2020-12-23 14:56:24.871 INFO 11124 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2020-12-23 14:56:24.877 INFO 11124 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
可以看出 默認選取 tomcat 為 web 啟用容器。
開始簡單搭建:
0.所屬環境:
1.jdk環境,
在cmd後天輸入: java -version 查看是否為jdk1.8版本以上(個人建議1.8,目前穩定版本有1.8 1.11和1.14 版本)
C:\Users\hzp>java -version java version "1.8.0_251" Java(TM) SE Runtime Environment (build 1.8.0_251-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
如果沒有出現,可以到 oracle 官網下載 jdk,官網地址:JDK官網下載地址,但是需要 oracle 賬號,當然你可以直接從我的網盤下載:
Linux系統jdk1.8網盤地址,
鏈接: https://pan.baidu.com/s/1IS0e-rSleFzW5YHo0aTMPw
提取碼: ktmd
windows 系統jdk1.8網盤地址,
鏈接: https://pan.baidu.com/s/1RGThC5gvbX3LjHA3nc8pHQ
提取碼: d23k
可以自行百度進行jdk安裝和配置,此處不做詳細介紹。
2.開發工具 idea
去官網下載,建議下載低2個大版本的,因為網上pojie版本很少找到新版本pojie的方法。
下載地址:idea下載地址
建議下載一個版本的 idea 如圖:
目前版本為2020.3,建議選擇版本為 2020.2及以後版本
3.maven 環境,
建議安裝一下 maven 環境,便於從國內鏡像地址 aliyun 下載。
下載 maven 的地址,建議下載 3.6.1maven3下載地址
安裝 maven 進行配置(此處不做詳細介紹)
配置完成後在終端輸入: mvn -v
C:\Users\hzp>mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: H:\apache-maven-3.6.3\bin\.. Java version: 1.8.0_251, vendor: Oracle Corporation, runtime: H:\Java\jdk1.8.0_251\jre Default locale: zh_CN, platform encoding: GBK OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
對 settings.xml 進行配置(我的maven在F盤,H:\apache-maven-3.6.3\conf 為settings),將mirrors替換如下,詳細配置如下:
<mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿裡雲公共倉庫</name> <url>https://maven.aliyun.com/repository/central</url> </mirror> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿裡雲spring插件倉庫</name> <url>https://maven.aliyun.com/repository/spring-plugin</url> </mirror> <mirror> <id>repo2</id> <name>Mirror from Maven Repo2</name> <url>https://repo.spring.io/plugins-release/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
打開 idea 從 左上角 file 中找到 Settings 對 maven 進行配置,如圖:
1.開始搭建項目
1.打開idea,找到最左邊的 file ,點擊file,然後選擇 new ,再選擇右邊的 Project ,如下圖:
選擇後出現如下圖片:
點擊選擇紅色方框:
點擊next進行下一步選擇:
選擇後點擊 Next 下一步:
按照圖片顯示的方法進行選擇開發所需要的依賴,點擊 next .進行project名稱的選擇,也可以選擇直接點擊 finish,如圖:
項目的初步架子已經搭建起來瞭。
2.等待項目從aliyun下載依賴。
大概要等待 1-3分鐘,根據自己的網絡快慢決定。
1.出現的 pom.xml 如下圖所示:
<properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
此時的以來主要文件,下面引入 mybatis-plus 3.3.2 版本:
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> </dependency>
將上面的文件復制放入到 MySQL 依賴後面(主要是放在dependencies裡面都可以)
然後安裝官網給定的分頁配置,在文件中建立一個config ,結構如圖:
再創建一個MybatisPlusConfig.java,具體代碼如下:
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector; import com.baomidou.mybatisplus.core.injector.ISqlInjector; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize; import org.springframework.context.annotation.Bean; /** * @author hzp */ public class MybatisPlusConfig { /** * 分頁插件 */ @Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); // 設置請求的頁面大於最大頁後操作, true調回到首頁,false 繼續請求 默認false // paginationInterceptor.setOverflow(false); // 設置最大單頁限制數量,默認 500 條,-1 不受限制 // paginationInterceptor.setLimit(500); // 開啟 count 的 join 優化,隻針對部分 left join paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true)); return paginationInterceptor; } }
添加後完成瞭 mybatis-plus 的分頁插件。
2.對 swagger-ui 2.10.5 的引入
首先在 pom.xml 文件中的 properties 下引入 <swagger.version>2.10.5</swagger.version>
<properties> <java.version>1.8</java.version> <swagger.version>2.10.5</swagger.version> </properties>
再在po.xml 文件中的 dependencies 文件中引入一下配置:
<!-- swagger documents--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${swagger.version}</version> <exclusions> <exclusion> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> </exclusion> <exclusion> <groupId>io.swagger</groupId> <artifactId>swagger-models</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> <version>1.5.21</version> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-models</artifactId> <version>1.5.21</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-spring-webmvc</artifactId> <version>2.10.5</version> </dependency>
為什麼要先剔除 swagger-annotations 和 swagger-models ,再引入它們,可以看看另一個鏈接:springboot使用 swagger-ui 2.10.5 有關版本更新帶來的問題
當然為什麼要引入: springfox-spring-webmvc 2.10.5 也可以看看上面這個鏈接。
引入依賴後,在config 包下創建一個 SwaggerConfig.java 文件:
import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; /** * @author hzp * @date 2020.12.05 */ @EnableSwagger2WebMvc @Configuration public class SwaggerConfig { @Value("${swagger.enabled}") private Boolean enabled; @Bean @SuppressWarnings("all") public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .enable(enabled) .apiInfo(apiInfo()) .pathMapping("/") .select() .apis(RequestHandlerSelectors.basePackage("com.example.hzp.demo.web")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("app 接口文檔") .description("後臺登錄") .version("1.0") .build(); } }
添加 druid 如下面所示:
<properties> <java.version>1.8</java.version> <swagger.version>2.10.5</swagger.version> <druid.version>1.1.17</druid.version> </properties>
添加 druid依賴:
<!-- druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${druid.version}</version> </dependency>
然後建立一個 web 包,結構如下:
完
成初步的TestController.java 編寫,如下圖所示:
TestController.java
文件如下:
import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @author hzp */ @RestController @Api(tags = "Test") public class TestController { @ApiOperation(value = "測試", httpMethod = "GET") @GetMapping("/hello") public String testController(){ return "hello,world!"; } }
完善application.yml 文件如下:
server: port: 8088 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://loaclhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: 123456 druid: initial-size: 5 #連接池初始化大小 min-idle: 10 #最小空閑連接數 max-active: 20 #最大連接數 # web-stat-filter: # exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" #不統計這些請求數據 stat-view-servlet: #訪問監控網頁的登錄用戶名和密碼 login-username: druid login-password: druid #是否開啟 swagger-ui swagger: enabled: true mybatis-plus: # 如果是放在src/main/java目錄下 classpath:/com/*/*/mapper/*Mapper.xml # 如果是放在resource目錄 classpath:/mapper/**.xml mapper-locations: classpath:/mapper/**.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
記住一定要有數據庫連接喲,這要的話 中間的 druid 等引入起來比較方便。
啟動項目後如圖所示:
當然你也可以直接使用 鏈接進行訪問:
localhost:8088/test 出現如圖所示:
至此,整個介紹基本完成,後續會上傳代碼到 git 上,感謝您的觀看。
到此這篇關於springboot+swagger2.10.5+mybatis-plus 入門的文章就介紹到這瞭,更多相關springboot swagger2.10.5 mybatis-plus 入門內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 關於springboot集成swagger及knife4j的增強問題
- springboot使用swagger-ui 2.10.5 有關版本更新帶來的問題小結
- SpringBoot集成Swagger3的實現
- 手把手教你SpringBoot快速集成Swagger的配置過程
- springboot更新配置Swagger3的一些小技巧