前言
陆续自学了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
然后联网下载Spring boot模板,接着填入项目的信息,我这里保持默认,具体的读者根据自己需求改,填好后点击Next
接下来就是选择项目要加入的依赖,在这里不选,直接点下一步也可以,需要什么依赖稍后再pom.xml
声明即可。我这里选择了 Lombok
(自动生成get/set方法)和Spring Web
, 然后点击Next
选择保存位置,然后Finish
等待一段时间,等idea下载好依赖,项目目录 如下
配置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
新建相应包路径
- 在demo包下新建四个包:
controller
,dao
,entity
,service
- 在main下三个文件夹,
webapp
,WEB-INF
,jsp
- 然后把
webapp
设置web 根目录,打开Project Structure,按照下图操作
application.yml
把resources
文件夹下的application.properties
后缀名改为yml
。其实application.yml
和application.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
DemoApplication 启动类
- 添加
@ServletComponentScan
注解 - 继承
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);
}
}
测试
写一个简单控制类和一个简单JSP文件
@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