提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
一、什么是SpringBoot
二、SpringBoot的优点
三、SpringBoot的核心注解是什么? 他是由几个注解组成的?
四、什么是JavaConfig?
五、SpringBoot自动配置原理是什么?
六、你是如何理解SpringBoot配置加载顺序?
七、什么是yaml?
八、yaml配置的优势在哪里?
九、SpringBoot是否可以使用XML文件?
spring boot 核心配置文件是什么?
bootstrap.properties 和 application.properties 有何区别 ?
十、如何在自定义端口上运行SpringBoot应用程序?
前言
学习SpringBoot
提示:以下是本篇文章正文内容
一、什么是SpringBoot
SpringBoot是Spring下面的子项目,是Spring组件一站式解决方案 主要就是简化了spring的难度
减少了繁琐的配置 提供了各种启动器 是开发者快速上手
二、SpringBoot的优点
1.容易上手 提升了开发效率 为Spring开发提供了一个更快 跟广泛的入门体验
2.开箱即用 远离了繁琐的配置
3.提供了一系列提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行 状况检查和外部化配置等
4.没有代码生成,也不需要XML配置
5.避免大量的 Maven 导入和各种版本冲突
三、SpringBoot的核心注解是什么? 他是由几个注解组成的?
启动类上面的注解是:
@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解:
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源 自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@ComponentScan:Spring组件扫描
四、什么是JavaConfig?
Spring JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的纯Java 方法。因此它有助于 避免使用 XML 配置。使用 JavaConfig 的优点在于:
(1) 面向对象的配置。由于配置被定义为 JavaConfig 中的类,因此用户可以 充分利用 Java 中的面向对象功能。一个配置类可以继承另一个,重写它的 @Bean 方法等
(2) 减少或消除 XML 配置。基于依赖注入原则的外化配置的好处已被证明。 但是,许多开发人员不希望在 XML 和 Java 之间来回切换。JavaConfig 为开发人员提供了一种纯 Java 方 法来配置与 XML 配置概念相似的 Spring 容器。从 技术角度来讲,只使用 JavaConfig 配置类来配置容器是可行的,但实际上很多人认为将JavaConfig 与 XML 混合匹配是理想的
(3)类型安全和重构友好。JavaConfig 提供了一种类型安全的方法来配置 Spring容器。由于 Java 5.0 对泛型的支持,现在可以按类型而不是按名称检索 bean,不需要任何强制 转换或基于字符串的查找
五、SpringBoot自动配置原理是什么?
注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自动配置的核心, @EnableAutoConfiguration 给容器导入META-INF/spring.factories 里定义的自动配置类。 筛选有效的自动配置类。 每一个自动配置类结合对应的 xxxProperties.java 读取配置文件进行自动配置功能
六、你是如何理解SpringBoot配置加载顺序?
在 Spring Boot 里面,可以使用以下几种方式来加载配置。
1) properties文件;
2) YAML文件;
3) 系统环境变量; 等等
七、什么是yaml?
YAML 是一种人类可读的数据序列化语言。它通常用于配置文件。与属性文件相比,如果我们想要在配 置文件中添加复杂的属性,YAML 文件就更加结构化,而且更少混淆。可以看出 YAML 具有分层配置数 据
八、yaml配置的优势在哪里?
YAML 现在可以算是非常流行的一种配置文件格式了,无论是前端还是后端,都可以见到 YAML 配置。 那么 YAML 配置和传统的 properties 配置相比到底有哪些优势呢?
1. 配置有序,在一些特殊的场景下,配置有序很关键
2. 支持数组,数组中的元素可以是基本数据类型也可以是对象
3. 简洁 相比 properties 配置文件,YAML 还有一个缺点,就是不支持 @PropertySource 注解导入自定义的 YAML 配置
九、SpringBoot是否可以使用XML文件?
Spring Boot 推荐使用 Java 配置而非 XML 配置,但是 Spring Boot 中也可以使用 XML 配置,通过 @ImportResource 注解可以引入一个 XML 配置。
spring boot 核心配置文件是什么?
1)application.properties
2)application.yml
3)原理一样,格式不同,当两种格式的核心配置文件同时存在时,2.4.0以上的版本的SpringBoot优先使用以.yml为后缀的核心配置文件,2.4.0以下版本的SpringBoot优先使用.properties为后缀的核心配置文件
bootstrap.properties 和 application.properties 有何区别 ?
单纯做 Spring Boot 开发,可能不太容易遇到 bootstrap.properties 配置文 件,但是在结合 Spring Cloud 时,这个配置就会经常遇到了,特别是在需要加载一些远程配置文件的时侯。 spring boot 核心的两个配置文件: bootstrap (. yml 或者 . properties):boostrap 由父 ApplicationContext 加载的,比 applicaton 优先 加载,配置在应用程序上下文的引导阶段生效。一般来说我们在 Spring Cloud Config 或者 Nacos 中会 用到它。且 boostrap 里面的属性不 能被覆盖; application (. yml 或者 . properties): 由ApplicatonContext 加载,用于 spring boot 项目的自动化配置
十、如何在自定义端口上运行SpringBoot应用程序?
为了在自定义端口上运行 Spring Boot 应用程序,您可以在 application.properties 中指定端口。server.port = 8090



