springboot整合mybatis,springmvc

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunhongbing1024/article/details/83186783

下面将介绍的是springboot和mybatis,springmvc整合相关步骤,在这里做个记录,方便以后查看以及更改错误的问题,也欢迎大家指出问题的所在,共同进步:

一,创建简单的springboot应用

首先创建一个maven项目(使用eclipse创建,如果使用idea创建项目需要创建指定的springboot应用,我在idea中创建maven项目启动失败)

在pom.xml中添加以下依赖:

①设置spring boot的parent

<parent>

      <groupId>org.springframework.boot</groupId>

      <artifactId>spring-boot-starter-parent</artifactId>

      <version>1.5.2.RELEASE</version>

   </parent>

说明:Spring boot的项目必须要将parent设置为spring boot的parent,该parent包含了大量默认的配置,大大简化了我们的开发。

spring 官方的解释叫什么 stater poms,它可以提供 dependency management,也就是说依赖管理,引入以后在申明其它 dependency 的时候就不需要 version 了。

②导入spring boot的web支持

<dependency>

         <groupId>org.springframework.boot</groupId>

         <artifactId>spring-boot-starter-web</artifactId>

      </dependency>

说明:因为我们开发的是 web 工程,所以需要在 pom.xml 中引入 spring-boot-starter-web,spring 官方解释说 spring-boot-start-web 包含了 spring webmvc 和 tomcat 等 web 开发的特性。

③  添加Spring boot的插件

<plugin>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-maven-plugin</artifactId>

         </plugin>

说明:如果我们要直接 Main 启动 spring,那么以下 plugin 必须要添加,否则是无法启动的。如果使用 maven 的 spring-boot:run 的话是不需要此配置的。(我在测试的时候,如果不配置上面的 plugin 也可以直接在 Main 中运行的。)

测试:编写第一个Spring Boot的应用

@Controller
@SpringBootApplication
@Configuration
public class TaotaoApplication{

    @RequestMapping("hello")
    @ResponseBody
    public String hello(){
      return "hello sunhongbing!";
    }

     public static void main(String[] args) {
        SpringApplication.run(TaotaoApplication.class, args);
     }
}

说明:代码说明:

1、@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置。;

2、@Configuration:这是一个配置Spring的配置类;

3、@Controller:标明这是一个SpringMVC的Controller控制器;

4、main方法:在main方法中启动一个应用,即:这个应用的入口;

启动应用:

在Spring Boot项目中,启动的方式有两种,一种是直接run Java Application另外一种是通过Spring Boot的Maven插件运行。

第一种:

第二种:

启动效果:

看到如下信息就说明启动成功了:

INFO 6188 --- [           main] c.i.springboot.demo.HelloApplication     : Started HelloApplication in 3.281 seconds (JVM running for 3.601)

测试

打开浏览器,输入地址,效果:

二,和mybatis整合

①  设置tomcat端口

application.properties:

② 读取外部的配置文件

@Configuration

@PropertySource(value = { "classpath:jdbc.properties", "classpath:env.properties",

        "classpath:httpclient.properties", "classpath:redis.properties", "classpath:rabbitmq.properties" }, ignoreResourceNotFound = true)

public class TaotaoApplication {

}

③ 设置扫描包

④ 定义数据源

⑤进入mybatis和springboot的整合

Mybatis和Spring Boot的整合有两种方式:

第一种:使用mybatis官方提供的Spring Boot整合包实现,地址:https://github.com/mybatis/spring-boot-starter

第二种:使用mybatis-spring整合的方式,也就是我们传统的方式

这里我们推荐使用第二种,因为这样我们可以很方便的控制Mybatis的各种配置。

首先,创建一个Mybatis的配置类:

代码:

然后,创建Mapper接口的扫描类MapperScannerConfig:

代码:

⑥ 设置事务管理

在Spring Boot中推荐使用@Transactional注解来申明事务。

首先需要导入依赖:

<dependency>

         <groupId>org.springframework.boot</groupId>

         <artifactId>spring-boot-starter-jdbc</artifactId>

      </dependency>

当引入jdbc依赖之后,Spring Boot会自动默认分别注入DataSourceTransactionManager或JpaTransactionManager,所以我们不需要任何额外配置就可以用@Transactional注解进行事务的使用。

在Service中添加@Transactional注解:

三,整合SpringMVC的配置

原有配置:

具体实现:

视图解析器配置:

自定义拦截器:

实现自定义拦截器只需要 3 步:

1、创建我们自己的拦截器类并实现 HandlerInterceptor 接口。

2、创建一个 Java 类继承 WebMvcConfigurerAdapter,并重写 addInterceptors 方法。

3、实例化我们自定义的拦截器,然后将对像手动添加到拦截器链中(在 addInterceptors 方法中添加)。

猜你喜欢

转载自blog.csdn.net/sunhongbing1024/article/details/83186783