1:自动配置
启动类上边有一个springbootApplication注解,底层由三个注解构成,比较重要的EnableAutoConfiguration注解。这个注解看源码可以发现,底层有一个import注解。import注解中有一个importSelect接口的实现类,里边有一个selectImports方法,将我们需要的组件以全类名的形式进行返回,然后加载META/INF中的spring.factory。
2:起步依赖:(依赖传递)
起步依赖本质上是一个Maven项目对象模型,定义了对其他库的传递依赖。底层以来的还是maven的继承特性。提前将一部分通用的依赖的版本号以及坐标定义好,我们的工程继承里边的就可以使用。
3.Spring Boot 的优点有:
(1)独立运行
Spring Boot而且内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个jar包内。
(2)简化配置
spring-boot-starter-web启动器自动依赖其他组件,减少了maven的配置。
(3)自动配置
Spring Boot能根据当前类路径下的类、jar包来自动配置bean,如添加一个spring-boot-starter-web启动器就能拥有web的功能,无需其他配置。
(4)无代码生成和XML配置
Spring Boot配置过程中无代码生成,也无需XML配置文件就能完成所有配置工作,这一切都是借助于条件注解完成的,这也是Spring4.x的核心功能之一。
(5)应用监控
Spring Boot提供一系列端点可以监控服务及应用,做健康检测。
4:Spring Boot、Spring MVC 和 Spring 有什么区别?
springboot其实就是对spring以及springMVC的一种简化,spring以及springMVC需要大量的参数配置,而springboot中具有自动配置功能,大大的简化了配置过程。
5:为什么我们需要 spring-boot-maven-plugin?
提供了一些想jar一样打包或者运行程序的命令。
spring-boot:run 运行你的 SpringBooty 应用程序。
spring-boot:repackage 重新打包你的 jar 包或者是 war 包使其可执行
spring-boot:start 和 spring-boot:stop 管理 Spring Boot 应用程序的生命周期
spring-boot:build-info 生成执行器可以使用的构造信息。
6:Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
两种:application.propeties(yml),boostaraps.properties(yml);
区别:bootstraps加载比application迟。
bootstrap中属性不能被覆盖。
7:springboot中配置文件的格式有哪几种?有什么区别?
.properties以及.yml.
区别:书写格式不同,yml看起来更加直观。但是yml不支持@PropertySource注解导入配置。
8:springboot核心注解有哪些?
启动来上的springBootApplication注解,底层是由SpringBootConfiguration(实现加载配置的功能),EnableAutoConfiguration(实现了自动配置的功能),ComponentScan(spring组件扫描)三个注解组成。这三个注解其实就是springboot的核心注解。
9:SpringBoot 常用的 starter 有哪些?
1.spring-boot-starter-web (嵌入 tomcat 和web开发需要servlet 与 jsp支持)
2.spring-boot-starter-data-jpa (数据库支持)
3.spring-boot-starter-data-Redis (Redis 数据库支持)
4.spring-boot-starter-data-solr (solr 搜索应用框架支持)
5.mybatis-spring-boot-starter (第三方的 mybatis 集成 starter)
10:springboot读取配置文件的方式有哪几种?
@Value 注 解 ,
@ConfigurationProperties 注解和 Environment 接口。这三种注解可以配合着 @PropertySource 来使用,@PropertySource 主要是用来指定具体的配置文
件。