目录

案例生成

# 案例生成

在先前SSM章节中,我们完成了一个简单的CRUD项目,但开发过程中,光配置就得花不少时间,SpringBoot的出现将大大降低配置时间,让开发人员真正能够开箱即用。

# IDEA流程

  1. 新建项目 -> Spring Initializr 配置基本的需求
  2. 依赖项 -> Web -> Spring Web

创建完成后,就能直接使用了,但需要注意的是,启动文件必须与controllerdao等包同级 ![[Pasted image 20220618153442.png]]

# Spring与SpringBoot对比

![[Pasted image 20220618153832.png]]

# 前后端协同

工作环境下,我们往往需要和前端人员进行互动,他们更改网页后需要你后端一起支持才能生效,倘若你把你后端电脑关了,他们也无计可施。于是,SpringBoot想到了打包一个java包,前端只需要启动这个java包就能直接开启服务器,不需要手动配置任何后端知识相关的内容

后端只需要通过maven的package功能,打包完项目后会在target目录下生成一个demo-v1.0.0.jar文件,将该文件发给前端人员,让他们在本地通过java -jar demo-v1.0.0.jar即可本地开启项目服务器

# 为什么SpringBoot那么神

前面的案例足以证明SpringBoot相比传统Spring更简洁,但究竟是为什么呢?? 这得依赖于pom.xml下的

<parent>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-parent</artifactId>  
    <version>2.7.0</version>  
    <relativePath/> <!-- lookup parent from repository -->  
</parent>
1
2
3
4
5
6

这个spring-boot-starter-parent其实也继承自其他的配置。在spring-boot-starter-parent中其实只是一些常用的基本插件配置,真正封神的配置是他的父配置文件spring-boot-dependenciesspring-boot-dependencies包含了几乎所有会用到的web开发依赖,并且作者已经为后来者适配好了最佳的版本,不会再发生之前tomcat10不兼容三件套的情况。这也就解释了为什么我们项目的pom.xml文件中的依赖,仅包含依赖项不包含其版本的原因了,因为版本作者都给你设定好了~~~

# 切换服务器

SpringBoot已经为这种需求做好了准备,在我们项目pom.xml文件中,有一个依赖

<dependency>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-web</artifactId>  
</dependency>
1
2
3
4

该库内主要是关于web相关的各种依赖,其中包含了默认的服务器Tomcat,由于这文件是内部文件,我们无法直接修改其内部配置的依赖,因此我们需要在我们项目中通过排除法排除Tomcat的依赖。

<dependency>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-web</artifactId>  
    <exclusions>        
	    <exclusion>            
		    <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-tomcat</artifactId>  
        </exclusion>    
    </exclusions>
</dependency>
1
2
3
4
5
6
7
8
9
10

这样就能排除该依赖了,由于实验需求,我们可以假装需要配置一个jetty服务器,我们可以添加依赖

<dependency>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-jetty</artifactId>  
</dependency>
1
2
3
4

再次启动入口文件,就会发现,此时服务器已经变成jetty了!十分简单!

Jetty比Tomcat更轻量级,可扩展性更强,谷歌应用引擎GAE已经全面换为Jetty

# 总结

![[Pasted image 20220618160855.png]]

最近更新
01
基本知识
07-18
02
卷积神经网络识别图像
07-18
03
损失函数
07-18
更多文章>