一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Boot 整合mybatis 與 swagger2

Spring Boot 整合mybatis 與 swagger2

2020-12-09 11:40也許明天1 Java教程

之前使用springMVC+spring+mybatis,總是被一些繁瑣的xml配置,還經常出錯,下面把以前的一些ssm項目改成了spring boot + mybatis,相對于來說優點太明顯了,具體內容詳情大家通過本文學習吧

之前使用springMVC+spring+mybatis,總是被一些繁瑣的xml配置,有時候如果配置出錯,還要檢查各種xml配置,偶然接觸到了spring boot 后發現搭建一個web項目真的是1分鐘的事情,再也不用去管那么多xml配置,簡直神清氣爽,不用看那么多一坨xml,下面是我把以前的一些ssm項目改成了spring boot + mybatis,相對于來說優點太明顯了

1. 創建獨立的Spring應用程序

2. 嵌入的Tomcat,無需部署WAR文件

3. 簡化Maven配置

4. 自動配置Spring

5. 提供生產就緒型功能,如指標,健康檢查和外部配置

6. 絕對沒有代碼生成和對XML沒有要求配置

這個是百度百科上面對spring boot 優點的描述,其實我感覺也是這樣,大家可以試一下。

以下是具體的代碼實現(github地址:https://github.com/yihec/spring-boot-mybatis) 

首先是pom文件的一些依賴

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?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 2</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>demo 2</name>
  <description>Demo project for Spring Boot</description>
  <parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>1.5.1.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.7</java.version>
  </properties>
  <dependencies>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-aop</artifactId>
   </dependency>
   <!-- 移除內置的log的依賴使用log4j進行日志輸出-->
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
     <exclusions>
      <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
      </exclusion>
     </exclusions>
   </dependency>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-jdbc</artifactId>
   </dependency>
   <dependency>
     <groupId>com.oracle</groupId>
     <artifactId>ojdbc14</artifactId>
     <version>10.2.0.1.0</version>
   </dependency>
   <!-- redis -->
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-redis</artifactId>
   </dependency>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-test</artifactId>
     <scope>test</scope>
   </dependency>
   <!--導入mybatis -->
   <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis-spring</artifactId>
     <version>1.2.2</version>
   </dependency>
   <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     <version>3.2.8</version>
   </dependency>
   <dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
     <version>3.5</version>
   </dependency>
   <!--mybatis的分頁插件 很好用的一個 具體使用方法可以去下面的網站 -->
   <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
   <dependency>
     <groupId>com.github.pagehelper</groupId>
     <artifactId>pagehelper</artifactId>
     <version>4.1.6</version>
   </dependency>
   <dependency>
     <groupId>org.codehaus.jackson</groupId>
     <artifactId>jackson-mapper-asl</artifactId>
     <version>1.9.13</version>
   </dependency>
   <!--swagger2 生成api文檔 -->
   <dependency>
     <groupId>io.springfox</groupId>
     <artifactId>springfox-swagger2</artifactId>
     <version>2.2.2</version>
   </dependency>
   <dependency>
     <groupId>io.springfox</groupId>
     <artifactId>springfox-swagger-ui</artifactId>
     <version>2.2.2</version>
   </dependency>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-thymeleaf</artifactId>
   </dependency>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-log4j</artifactId>
   </dependency>
   </dependencies>
  <build>
   <plugins>
     <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
     </plugin>
   </plugins>
  </build>
  <repositories>
   <repository>
     <id>spring-snapshots</id>
     <name>Spring Snapshots</name>
     <url>https://repo.spring.io/snapshot</url>
     <snapshots>
      <enabled>true</enabled>
     </snapshots>
   </repository>
   <repository>
     <id>spring-milestones</id>
     <name>Spring Milestones</name>
     <url>https://repo.spring.io/milestone</url>
     <snapshots>
      <enabled>false</enabled>
     </snapshots>
   </repository>
  </repositories>
  <pluginRepositories>
   <pluginRepository>
     <id>spring-snapshots</id>
     <name>Spring Snapshots</name>
     <url>https://repo.spring.io/snapshot</url>
     <snapshots>
      <enabled>true</enabled>
     </snapshots>
   </pluginRepository>
   <pluginRepository>
     <id>spring-milestones</id>
     <name>Spring Milestones</name>
     <url>https://repo.spring.io/milestone</url>
     <snapshots>
      <enabled>false</enabled>
     </snapshots>
   </pluginRepository>
  </pluginRepositories>
</project>

接著是application.yml數據庫配置

?
1
2
3
4
5
6
spring:
 datasource:
   driver-class-name: oracle.jdbc.OracleDriver
   url: jdbc:oracle:thin:localhost:1521:orcl
   username: orcl
   password: orcl

然后是application.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.example;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
@SpringBootApplication
//@ComponentScan 注解自動收集所有的Spring組件,包括 @Configuration 類。
@ComponentScan
@MapperScan("com.example.mapper")
public class DemoApplication {
  @Bean
  @ConfigurationProperties(prefix="spring.datasource")
  public DataSource dataSource() {
    return new org.apache.tomcat.jdbc.pool.DataSource();
  }
  @Bean
  public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
    SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
    sqlSessionFactoryBean.setDataSource(dataSource());
    PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
    //這里的話如果不用mybatis-config.xml 可以把下面那句給注釋掉
    sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));
    sqlSessionFactoryBean.setConfigLocation(resolver.getResource("classpath:mybatis-config.xml"));
    return sqlSessionFactoryBean.getObject();
  }
  @Bean
  public PlatformTransactionManager transactionManager() {
    return new DataSourceTransactionManager(dataSource());
  }
  public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
  }
}

最后就是swagger的配置了,

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.example;
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.EnableSwagger2;
/**
 * Created by lhm on 2015/8/27.
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig
{
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.example.web"))
        .paths(PathSelectors.any())
        .build();
  }
  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("API")
        .description("")
        .termsOfServiceUrl("")
        .contact("yihec")
        .version("1.0")
        .build();
  }
}

最主要的代碼就是這些了,然后大功告成,后面的都是個人的業務邏輯了。

github地址:https://github.com/yihec/spring-boot-mybatis

總結

以上所述是小編給大家介紹的Spring Boot 整合mybatis 與 swagger2,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/yihec/archive/2017/08/01/7268792.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 视频大全在线观看免费 | 涩涩国产精品福利在线观看 | 欧美草比视频 | 我的好妈妈7中字在线观看韩国 | 亚洲精品国产成人中文 | 天天乐影院 | 成人伊人青草久久综合网破解版 | kayden kross喷水 | 国产成+人+亚洲+欧美综合 | 欧美贵妇videos办公室360 | 国产91青青成人a在线 | 亚洲天堂色图 | 日本一区二区视频在线观看 | 国产成人在线免费视频 | 2019国内精品久久久久久 | 精品久久免费视频 | 成人欧美一区二区三区黑人 | 99久久中文字幕伊人 | 变态女王麻麻小说在线阅读 | 免费看日产一区二区三区 | 久久中文字幕免费高清 | 国产精品福利 | 国产精品久久国产精品99 | 国产精品俺来也在线观看了 | 男人的天堂在线观看视频不卡 | 丰腴尤物贵妇浪荡小说 | 狠狠撸在线影院 | www.成人在线视频 | 国产精品一区二区三区免费 | 草草视频人人爽 | 欧美专区综合 | 色婷婷综合缴情综六月 | 精品国内自产拍在线视频 | 欧美精品久久久亚洲 | 大陆国语自产精品视频在 | 超级乱淫伦小说全集np | 亚洲AV无码乱码在线观看浪潮 | 国产高清专区 | 亚洲精品国产精品国自产观看 | 丁香六月色婷婷综合网 | 国产激情久久久久影院小草 |