1. 1. 什么是 Spring Boot?
Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。
Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。
2. SpringBoot有哪些优点?
- 独立运行
Spring Boot 而且内嵌了各种 servlet 容器,Tomcat、Jetty 等,现在不再需要打成war 包部署到容器中,Spring Boot 只要打成一个可执行的 jar 包就能独立运行,所有的依赖包都在一个 jar 包内。 - 简化配置
spring-boot-starter-web 启动器自动依赖其他组件,简少了 maven 的配置。 - 自动配置
Spring Boot 能根据当前类路径下的类、jar 包来自动配置 bean,如添加一个 spring-boot-starter-web 启动器就能拥有 web 的功能,无需其他配置。 - 无代码生成和XML配置
Spring Boot 配置过程中无代码生成,也无需 XML 配置文件就能完成所有配置工作,这一切都是借助于条件注解完成的,这也是 Spring4.x 的核心功能之一。 - 避免大量的Maven导入和各种版本冲突
- 应用监控
Spring Boot 提供一系列端点可以监控服务及应用,做健康检测。
3. SpringBoot有哪些缺点?
任何技术都是有优缺点的,没有银弹,解决一切问题,不留任何小尾巴
SpringBoot优点概括起来就是简化:简化编码,简化配置,简化部署,简化监控,简化依赖坐标导入,简化整合其他技术….
SpringBoot的缺点是入门简单精通难,各种强大的功能封装的太好了,内部原理比较难得参透!再就是用多了容易产生依赖,就像嗑药似的,用了就离不开了;SpringBoot一旦出了错误,由于内部封装比较深,部分错误调试难度比一般Spring应用程序要大很多!
当然完全不必纠结与SpringBoot的缺点,毕竟SpringBoot的优点太突出了。
4. Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件。
application 配置文件这个容易理解,主要用于 Spring Boot 项目的自动化配置。
bootstrap 配置文件有以下几个应用场景。
使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;
一些固定的不能被覆盖的属性;
一些加密/解密的场景;
5. Spring Boot 的配置文件有哪几种格式?它们有什么区别?
.properties 和 .yml,它们的区别主要是书写格式不同。
1).properties
app.user.name = javastack
2).yml
app: user: name: javastack
另外,.yml 格式不支持 @PropertySource 注解导入配置。
6. Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
主要组合包含了以下 3 个注解:
@SpringBootConfiguration:
组合了 @Configuration 注解,实现配置文件的功能。
@EnableAutoConfiguration:
打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
@ComponentScan:
Spring组件扫描。
7. 开启 Spring Boot 特性有哪几种方式?
1)继承spring-boot-starter-parent项目
2)导入spring-boot-dependencies项目依赖
详细介绍启动方式
Spring Boot依赖
使用Spring Boot很简单,先添加基础依赖包,有以下两种方式
- 继承spring-boot-starter-parent项目
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
- 导入spring-boot-dependencies项目依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.6.RELEASE</version>