一、SpringBoot简介
Springboot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
二、特征
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。
三、重要策略
1、开箱即用
开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。
2、约定优于配置
约定优于配置,Convention over configuration,是一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
四、项目概述
五、SpringBoot框架高级说明
1、parent标签的作用
<!--1.jar包种类繁多
A.jar 1.0版本 B.jar 2.0版本 C.jar 3.0版本
A.jar 2.0版本 B.jar 2.0版本 C.jar 3.0版本
早期的jar包版本 可能出现jar包冲突的问题.
所有采用parent标签的方式 统一定义了版本号 由官方自己进行测试,
将允许稳定的版本统一的管理.
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
2、关于Maven插件的说明
<!-- maven项目指定的插件配置 该插件主要负责 maven项目相关操作 打包/test/clean/update
等相关maven操作 注意事项:但凡是maven项目则必须添加
插件.否则将来项目部署必然出错 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3、关于Maven属性的配置
<!--当前maven配置信息 -->
<properties>
<java.version>1.8</java.version>
<!--定义maven插件版本 -->
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<skipTests>true</skipTests>
</properties>
4、关于Maven依赖说明
4.1、依赖与本地仓库的关系
<!--maven的依赖 利用坐标的形式管理jar包 本地仓库之间有什么关系呀? -->
<dependency>
<!--组ID, 公司域名倒写. -->
<groupId>org.springframework.boot</groupId>
<!--具体项目名称 -->
<artifactId>spring-boot-starter-web</artifactId>
<!--版本号 被parent标签提前定义 -->
<!-- <version>2</version> -->
</dependency>
4.2、本地仓库内容
4.3、规则说明
如果以后下载jar包时,遇到maven依赖异常,则首先查询本地仓库中是否有该jar包的完整版本。
如果发现jar包文件下载不完全,则需要删除之后重新下载。
4.4、jar包与jar包之间的依赖传递性说明
1、说明:Maven具有jar包的依赖性
例如:A.jar—>B.jar—>C.jar
只要导入A.jar 那么B/C都会自动的完成依赖
2、检查POM.xml文件
说明:由于Maven加载jar包之后还会去加载改jar包文件袋额POM文件,如果POM文件中依赖了其他的jar包,那么Maven也会自动的进行加载。