1、什么是Spring Boot
(1)Spring Boot是Spring的子项目,Boot是“引导”的意思,Spring 的 Boot
(2)通过Spring Boot可以快速配置Spring 项目,并且在Spring的官方还提供了快速创建Spring Boot项目的脚手架,以及在IntelliJ IDEA中还提供了Spring Initializr
(3)通过Spring Boot可以快速引入各种框架(如:Spring MVC、Spring AOP、MyBatis等),当然,这也得益于Maven(或Gradle)
(4)Spring Boot 还提供了各种 Starter 启动器,提供标准化的默认配置。例如:
spring-boot-starter-web 启动器,可以快速配置 Spring MVC 。
mybatis-spring-boot-starter 启动器,可以快速配置 MyBatis 。
2、Spring Boot提供了哪些核心功能
{
官网(https://spring.io/projects/spring-boot)对Spring Boot的核心功能是这样描述的:
Features
-
Create stand-alone Spring applications
-
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
-
Provide opinionated ‘starter’ dependencies to simplify your build configuration
-
Automatically configure Spring and 3rd party libraries whenever possible
-
Provide production-ready features such as metrics, health checks, and externalized configuration
-
Absolutely no code generation and no requirement for XML configuration
【有道翻译】
特征
-
创建独立的Spring应用程序
-
直接嵌入Tomcat、Jetty或Undertow(无需部署WAR文件)
-
提供自以为是的“初学者”依赖项,以简化您的构建配置
-
尽可能自动配置Spring和第三方库
-
提供生产就绪特性,如指标、健康检查和外部化配置
-
绝对不需要代码生成,也不需要XML配置
}
也就是说:
(1)可以独立运行Spring项目。把Spring Boot项目可以打成jar包,然后通过命令 java -jar xxx.jar就可以运行了
(2)内嵌了Servlet容器。Spring Boot可以选择内嵌Tomcat、Tomcat、Jetty或Undertow,然后就可以无须以war包的形式部署项目
(3)提供了starter简化 maven配置。
(4)自动配置Spring Bean 。Spring Boot检查到特定类时,就会对这个应用进行自动配置Bean
(5)准生产的应用监控。Spring Boot提供基于HTTP、JMX、SSH对运行时的项目进行监控
(6)无代码生成和XML配置。Spring Boot 没有引入任何形式的代码生成,它是使用的 Spring 4.0 的条件 @Condition 注解以实现根据条件进行配置。同时使用了 Maven /Gradle 的依赖传递解析机制来实现 Spring 应用里面的自动配置。
3、Spring Boot 的优点
编码、配置、部署、监控 都变得更简单。
( 围绕着这些说就差不多了(*^▽^*) )
4、说一下在项目中,是如何统一引入 Spring Boot 版本
两种方式:
(1)方式一:继承 spring-boot-starter-parent 项目:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
</parent>
(2)方式二:导入 spring-boot-dependencies 项目依赖:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
5、Spring Boot 的配置文件有哪几种格式
Spring Boot 目前支持两种格式的配置文件:.properties和.yml
写法是有区别的,示例:
.properties 格式:
server.port = 8080
.yml 格式:
server:
port: 8080
6、为什么要使用嵌入式服务器?
不需要要下载安装tomcat,应用也不用再打成war包放在webapp目录下才能运行,只需要安装一个Java虚拟机,就可以直接在上面部署应用程序。在Spring Boot中内置了tomcat.jar,运行main方法时会启动tomcat,利用tomcat的spi机制可以直接加载Spring MVC。
7、如何理解 Spring Boot 中的 Starter
使用spring + springmvc使用,如果需要引入mybatis等框架,需要到xml中定义mybatis需要的bean
就是定义一个
starter
的
jar
包,写一个
@Configuration
配置类、将这些
bean
定义在里面,然后在
包的
META-INF/spring.factories
中写入该配置类,
springboot
会按照约定来加载该配置类
starter
包依赖进应用,进行相应的属性配置(使用默认配置时,不需要配
mybatis-spring-boot–starter
,
spring
Spring Boot的Starter使集成其他框架变得更方便。以集成mybatis为例:
(1)之前的spring + spring mvc + mybatis的使用中,需要到xml中定义mybatis需要的bean
(2)而在Spring Boot + mybatis中,Spring Boot的starter就是定义了一个starter的jar包,在@Configuration配置类将bean定义在其中,然后在starter包的META-INF/spring.factories中引入该配置类,最后Spring Boot会按照约定来加载该配置类。这就是“约定优于配置”。
在开发中,我们只需要将相应的starter包的依赖引入项目,进行相应的属性配置(数据库四要素等),就可以直接可以使用对应的功能了,如mybatis-spring-boot–starter。
7、说一下Spring Boot 自动配置
https://blog.csdn.net/weixin_45764765/article/details/110250531
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117631.html