第一个SpringBoot应用

体验:基于Spring boot整合SpringMVC

Spring Boot应用需要依赖远程服务器进行创建

远程服务器:

创建SpringBoot项目

image-20220216141940231

SpringBoot项目结构

image-20220216142358482

项目配置

SpringBoot帮助我们完成通用性的配置,但是像数据库连接地址、账号、密码都需要手动配置。

  • 修改MySQL默认版本(选择性)

  • 在SpringBoot主配置文件application.properties中配置数据源及路径

    image-20220216143611876

  • 在SpringBoot启动类@MapperScan注解指定DAO接口的包名

    image-20220216143921340

启动SpringBoot项目

SpringBoot应用自带Tomact容器,无需进行额外的服务器配置,直接运行启动类即可。

image-20220216144316662

SpringBoot整合JSP

SpringBoot默认动态网页技术是Thymeleaf,并不支持JSP,如果想使用JSP必须通过手动整合来实现。

1
2
3
4
5
6
7
8
9
10
11
12
<!-- JSP -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>10.1.0-M10</version>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

创建JSP页面

  • 修改pom.xml文件打包方式为war包

    image-20220216170708400

  • 在main中创建webapp目录

  • 在webapp创建.jsp页面

image-20220216170628490

如果把JSP页面放在WEB-INF文件夹里面,需要单独写一个PageController,来进行页面的转发。

image-20220216171045651

基于SpringBoot的SSM整合

  • 创建Spring Boot项目导入依赖:

    • Lombok
    • SpringWeb
    • Mysql Driver
    • Mybatis Framework
  • 修改Mysql驱动版本

  • 进行Mybatis所需的配置

    • 将默认创建的application.properties后缀名修改为yml(可选)

    • 完成Mybatis的自定义配置

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      spring:
      datasource:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/springboot_vue?characterEncoding=utf-8
      username: root
      password: root
      mvc:
      view:
      prefix: /
      suffix: .jsp

      mybatis:
      mapper-locations: classpath:mappers/*Mapper.xml
      type-aliases-package: com.yuhao.springboot.demo.pojo
  • 在启动类配置DAO扫描

    • @MapperScan

      image-20220216172806895

整合Druid连接池

在SpringBoot中整合Mybatis的时候,默认集成了Hikari连接池。Hikari效率比Druid要高,但是得益于Druid提供了比较便捷的监控系统,在实际的企业开发中,Druid使用的还是最多的。

添加Druid的Starter

1
2
3
4
5
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>

配置Druid数据源

1
2
3
4
5
6
7
8
9
10
11
# 配置数据源
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.url=jdbc:mysql://localhost:3306/springboot_vue?characterEncoding=utf-8
spring.datasource.druid.username=root
spring.datasource.druid.password=root
#初始化容器大小
spring.datasource.druid.initial-size=1
#最小连接
spring.datasource.druid.min-idle=1
#最大活跃连接数
spring.datasource.druid.max-active=20

查看整合结果

image-20220217154540654

Thymeleaf

Thymeleaf是一种类似于JSP的动态网页技术

Thymeleaf简介

  • JSP必须依赖于Tomact运行,不能直接运行在浏览器中
  • HTML可以直接运行在浏览器中,但是不能接收控制器传递的数据
  • Thymeleaf是一种既保留了HTML的后缀,能够直接在浏览器运行的能力、又实现了JSP显示动态数据的功能–即能查看页面效果,又能显示数据。

Thymeleaf的使用

SpringBoot应用对Thymeleaf提供了良好的支持

添加Thymeleaf的starter

1
2
3
4
5
6
<!-- thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>2.6.3</version>
</dependency>

创建Thymeleaf模板

Thymeleaf模板就是HTML文件

  • SpringBoot应用中,resources\templates目录就是用来存放页面模板的
  • 重要说明:
    • static目录下的资源被定义为静态资源,SpringBoot应用默认放行。如果将HTML文件创建在static目录下,是可以直接访问的
    • templates目录下的文件,会被定义为动态网页模板,SpringBoot应用会拦截templates中定义的资源。如果将HTML定义在templates目录,则必须通过控制器跳转才能访问
1
2
3
4
5
6
7
8
@Controller
public class PageController {

@RequestMapping("/test.html")
public String test() {
return "test";
}
}