SpringBoot+SSM整合

本文详细介绍了如何将SpringBoot与SpringMVC、Mybatis进行整合。首先,通过Maven构建SpringBoot工程,导入相关启动器并设置JDK版本。接着,配置SpringMVC,包括修改端口、管理静态资源及添加拦截器。最后,整合Mybatis,配置jdbc、事务,并启动Mybatis,需要注意的是,每个Mapper接口需添加注解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.SpringBoot环境准备

①构建Maven工程

在这里插入图片描述

②导入spring boot父工程

<!--继承SpringBoot的父工程-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.3.RELEASE</version>
    <relativePath/>
</parent>

③导入spring boot 的Web场景启动器

<!--Web开发场景启动器  Web开发场景的所有的相关的依赖都给你准备好了!-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

管理jdk版本

<properties>
      <java.version>1.8</java.version>
  </properties>

④创建启动类

在这里插入图片描述

启动类要在父包中创建,Spring Boot项目通过main函数即可启动。

2.整合SpringMVC

①修改端口

映射端口
### server.port=80

②访问静态资源

默认的静态资源路径为:

  • classpath:/META-INF/resources/
  • classpath:/resources/
  • classpath:/static/
  • classpath:/public/

只要静态资源放在这些目录中任何一个,SpringMVC都会帮我们处理。

③添加拦截器

如果你想要保持Spring Boot 的一些默认MVC特征,同时又想自定义一些MVC配置(包括:拦截器,格式化器, 视图控制器、消息转换器 等等),你应该让一个类实现WebMvcConfigurer,并且添加@Configuration注解,但是千万不要@EnableWebMvc注解。

@author bruceliu

- @create 2019-05-01 12:00

- @description 自定义拦截器测试
  */
  public class LoginInterceptor implements HandlerInterceptor {

  private Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        logger.debug("preHandle method is now running!");
        return true;
    }

@Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
        logger.debug("postHandle method is now running!");
    }

@Override
 public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
     logger.debug("afterCompletion method is now running!");
 }
 }
/**
 * @author bruceliu
 * @create 2019-05-01 12:01
 * @description 配置拦截器
 */
@Configuration
public class MvcConfig implements WebMvcConfigurer {
    /**
     * 通过@Bean注解,将我们定义的拦截器注册到Spring容器
     * @return
     */
    @Bean
    public LoginInterceptor loginInterceptor(){
        return new LoginInterceptor();
    }

    /**
     * 重写接口中的addInterceptors方法,添加自定义拦截器
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 通过registry来注册拦截器,通过addPathPatterns来添加拦截路径
        registry.addInterceptor(this.loginInterceptor()).addPathPatterns("/**");
    }
}

3.整合Mybatis

①整合jdbc和事务

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.46</version>
</dependency>

至于事务,SpringBoot中通过注解来控制。就是我们熟知的@Transactional

在刚才引入jdbc启动器的时候,SpringBoot已经自动帮我们引入了一个连接池:

因此,我们只需要指定连接池参数即可:

application.properties

# 数据库连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/userdb
spring.datasource.username=root
spring.datasource.password=123
# 可省略,SpringBoot自动推断
spring.datasource.driverClassName=com.mysql.jdbc.Driver

# 配置数据库连接池
#初始化连接数
spring.datasource.druid.initial-size=1
#最小空闲连接
spring.datasource.druid.min-idle=1
#最大活动连接
spring.datasource.druid.max-active=20
#获取连接时测试是否可用
spring.datasource.druid.test-on-borrow=true
#监控页面启动
spring.datasource.druid.stat-view-servlet.allow=true

②Mybatis启动

<!--mybatis -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.2</version>
</dependency>
# mybatis 别名扫描
mybatis.type-aliases-package=com.bruce.bean
# mapper.xml文件位置,如果没有映射文件,请注释掉
mybatis.mapper-locations=classpath:mappers/*.xml

这里没有配置mapper接口扫描包,因此我们需要给每一个Mapper接口添加@Mapper注解,才能被识别。

@Mapper
/**
 * @author bruceliu
 * @create 2019-05-01 14:50
 * @description
 */
@Mapper
public interface UserMapper {

    public User queryById(Integer id);

    public void deleteById(Integer id);
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值