首页 > 开发 > Java > 正文

Spring Boot 整合mybatis 与 swagger2

2024-07-13 10:10:24
字体:
来源:转载
供稿:网友

之前使用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文件的一些依赖

<?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数据库配置

spring: datasource:   driver-class-name: oracle.jdbc.OracleDriver    url: jdbc:oracle:thin:localhost:1521:orcl   username: orcl   password: orcl

然后是application.java

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的配置了,

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@EnableSwagger2public 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,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对VeVb武林网网站的支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表