SpringBoot设计目的是简化Spring应用的初始搭建以及开发过程。
-
SpringBoot程序优点
起步依赖(简化依赖配置)
自动配置(简化常用工程相关配置)
辅助功能(内置服务器,……)
-
SpringBoot如何起步依赖,自动配置,辅助功能?
通过四种方式:parent starter 引导类 内嵌tomcat
parent
-
parent:减少配置依赖 冲突,简化配置。
-
如何简化依赖管理思路
把版本集中管理坐标集中管理一拆为二,
第一个是把常用的版本信息统一写到一起,配置成maven属性。
第二个直接引用左边坐标, 只做坐标管理,把结构打开,把能用的所有坐标列一遍。
而springboot全做成大的版本统一,把版本融合性进行测试,哪个匹配最好。
好处:以后不用管理坐标版本。
pom.xml文件中的<parent> </parent>
打开parent可以发现其中又继承了一个坐标,引入了很多依赖
各种依赖版本号属性,下面列出依赖版本属性的局部,可以看的出来,定义了若干个技术的依赖版本号
总结:
1. 开发SpringBoot程序要继承spring-boot-starter-parent。
2. spring-boot-starter-parent中定义了若干个依赖管理。
3. 继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突。
4. 继承parent的形式也可以采用引入依赖的形式实现效果。
5. 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号
(依赖管理,而非依赖),以达到减少依赖冲突的目的。
6. spring-boot-starter-parent各版本间存在着诸多坐标版本不同。
starter
-
SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,
以达到减少依赖配置的目的。
-
将具备某种功能的坐标打包到一起,可以简化依赖导入的过程。
例如:我们导入 spring-boot-starter-web这个starter,
则和web开发相关的jar包都一起导入到项目中了。
总结:
1. 开发SpringBoot程序需要导入坐标时通常导入对应的starter
2. 每个不同的starter根据功能不同,通常包含多个依赖坐标
3. 使用starter可以实现快速配置的效果,达到主体做简化配置目的,要用到parent继承过来的版本。
实际开发
1. 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供,
除非SpringBoot未提供对应版本V 。
2. 如发生坐标错误,再指定Version(要小心版本冲突)。
引导类
-
引导类也是程序的入口,加载bean,把bean加载起来。
1.SpringBoot工程提供引导类用来启动程序,运行main方法就可以启动项目,
而引用类的功能主要依赖@SpringBootApplication解,当没有任何指定包的时候,
spring扫的是默认当前配置类所在包以及子包。
2. SpringBoot工程启动后创建并初始化Spring容器,扫描引导类所在包加载bean。
-
注意:
未启动web服务器,那谁启动web服务器的呢?
辅助功能(内嵌tomcat)
-
内嵌Tomcat服务器是SpringBoot辅助功能之一。
-
为什么程序中没有装tomcat还能启动起来带tomcat?
将一个tomcat容器的执行过程抽取出来,变成一个对象,然后把这个对象交给spring容器进行管理。
变成了spring容器中有一个tomcat对象,要运行的所有东西要在tomcat对象里面运行。
-
使用maven依赖管理变更起步依赖项
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--web起步依赖环境中,排除Tomcat起步依赖-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加Jetty起步依赖,版本由SpringBoot的starter控制-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
</dependencies>
-
总结:
1. 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理。
2. 变更内嵌服务器思想是去除现有服务器,添加全新的服务器。
RESTful风格后续简单总结
@RequestParam用于接收url地址传参或表单传参
@RequestBooy用于接收json数据
@PathVariable用于接收路径参数,使用{参数名称}描述路径参数
应用
后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBoody较多,实体类接收数据。
发送非json格式数据,用@RequestParam接收请求参数
采用RESTful进行开发,当参数数量较少时,可以采用@PathVariable接收请求路径变量,通常用于传递id值。
@Controller和@ResponseBood简化成@RestController文章来源:https://www.toymoban.com/news/detail-601786.html
@RequestMapping(method=RequestMethod.GET)简化成@GETMapping文章来源地址https://www.toymoban.com/news/detail-601786.html
到了这里,关于SpringBoot执行过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!