前言

陆续自学了spring和spring boot。也用spring搭建过ssm框架,做了个小项目,从0搭建ssm项目框架的时候,真的很繁琐,当时花了好久才把ssm框架搭建起来。这学期学了spring boot框架,发现spring boot开发项目的时候,真的很容易就把环境搭起来了。这学期就整合 Spring boot +Mysql+ Redis + Shiro+ Spring-data-jpa ,搭建了一个比较完善的框架 用来开发一个项目的后端(有空的话,就写一个整合上述框架的教程)。
现在,期末大作业需要用一个Spring MVC框架来开发,所以就想用Spring boot快速搭建一个Spring MVC框架,避免繁琐的xml配置方法。下面把搭建过程记录一下。

新建Spring Boot 项目

首先新建一个项目,选择Spring Initializer,然后保持默认即可,点击Next

不联网创建springboot_spring


然后联网下载Spring boot模板,接着填入项目的信息,我这里保持默认,具体的读者根据自己需求改,填好后点击Next

不联网创建springboot_bc_02


接下来就是选择项目要加入的依赖,在这里不选,直接点下一步也可以,需要什么依赖稍后再pom.xml声明即可。我这里选择了 Lombok(自动生成get/set方法)和Spring Web, 然后点击Next

不联网创建springboot_不联网创建springboot_03


不联网创建springboot_不联网创建springboot_04


选择保存位置,然后Finish

不联网创建springboot_不联网创建springboot_05


等待一段时间,等idea下载好依赖,项目目录 如下

不联网创建springboot_bc_06

配置Spring MVC环境

pom.xml

在pom.xml中加入以下依赖

<dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!--hutool工具包-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.6.2</version>
        </dependency>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version> 5.1.47</version>
        </dependency>
        <!--druid 连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.18</version>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version> 3.1.2</version>
        </dependency>

因为我mysql是5.7,所以下载是5.1的驱动包,如果是mysql8.0,需要把版本改成8.0

新建相应包路径

  1. 在demo包下新建四个包:controller,dao,entity,service
  2. 在main下三个文件夹,webapp,WEB-INF,jsp
  3. 不联网创建springboot_mysql_07

  4. 然后把webapp设置web 根目录,打开Project Structure,按照下图操作
  5. 不联网创建springboot_不联网创建springboot_08


  6. 不联网创建springboot_mysql_09


  7. 不联网创建springboot_不联网创建springboot_10


application.yml

resources文件夹下的application.properties 后缀名改为yml。其实application.ymlapplication.properties效果是一样的,但是yml格式看起来层次感更清晰。

server:
  port: 8001 #端口
  servlet:
    context-path: /
  tomcat: #内置tomcat的一些配置
    uri-encoding: UTF-8
    max-threads: 200
    min-spare-threads: 30
    connection-timeout: 60000

spring:
  datasource: #数据库配置
    url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.jdbc.Driver #如果是mysql8.0这里改成 com.mysql.cj.jdbc.Driver
    logSlowSql: true
  jpa: #jpa设置
    show-sql: true #在控制台展示sql语句
    generate-ddl: true #自动根据实体类在数据库生成对应的表
    hibernate:
      ddl-auto: update #修改实体类属性时候也更新数据库表
  main:
    allow-bean-definition-overriding: true
  mvc: # mvc设置
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp
mybatis-plus:
  configuration: #驼峰命名法转成自动转成下划线
    map-underscore-to-camel-case: true

不联网创建springboot_spring_11

DemoApplication 启动类

  1. 添加@ServletComponentScan注解
  2. 继承SpringBootServletInitializer
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
@ServletComponentScan
public class DemoApplication extends SpringBootServletInitializer {

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

}

不联网创建springboot_mysql_12

测试

写一个简单控制类和一个简单JSP文件

不联网创建springboot_spring_13

@Controller
public class MainController {
    @RequestMapping("/index")
    public String test(){
        return "index";
    }
}

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
demo Test<br>
中文测试
</body>
</html>

运行DemoApplication

不联网创建springboot_bc_14