SpringBoot面试题

SpringBoot是一个用于快速构建Spring应用的脚手架,它简化了配置,提供内置的starter和自动配置,支持零XML开发。SpringBoot内置web容器,管理第三方依赖版本,还有应用监控功能。其核心注解@SpringBootApplication整合了@Configuration、@EnableAutoConfiguration等,自动配置原理涉及SPI和条件注解。
摘要由CSDN通过智能技术生成

###谈谈你对SpringBoot的理解,他有哪些特性(优点)?

Springboot的用来快速开发Spring应用的一个脚手架,其设计目的是用来简化新Spring应用的初始化搭建以及开发过程。

1.Springboot提供了很多内置的starter结合自动配置,对主流框架无配置集成。开箱即用。

2.Springboot简化了开发,采用JavaConfig的方式可以使用零xml的方式进行开发。

3.springboot内置web容器无需依赖外部web服务器。省略了web。xml,直接运行jar文件就可以启动web应用。

4,springboot帮我管理了常用的第三方依赖的版本,减少出现版本冲突的问题。

5.springboot自带了监控功能,可以监控应用程序的运行状况。或者内存,线程池,Http请求统计等同时还提供了优雅关闭应用程序等功能。

###Springboot和Springboot的关系和区别?

springboot是spring生态的产品。

spring Framework是一个容器框架

springboot他不是一个框架,他是一个可以快速构建基于Spring的脚手架(里面包含了spring和各种框架),为开发spring生态其他框架铺平道路。

2个不是一个层面的东西,没有可比性。

###SpringBoot的核心注解

1.@SpringBootApplication注解:这个纾解标识了一个Springboot工程,它实际上是另外三个注解的集合,这三个注解是:

2.@SpringbootConfiguration:这个注解实际就是一个@Configuration,表示启动类也是一个配置类

3.@EnableAutoConfiguration:向Spring容器导入了一个Selector,用来加载ClassPath下SpringFactories中所定义的自动配置类,将这些自动加载为配置Bean。

4.@Conditional也很关键,如果没有它,我们无法在自定义应用中进行定制开发,

*@ConditionalOnBean,

*@ConditionalOnClass,

*@ConditionalOnExpression,

*@ConditionalOn MissingBean

###SpringBoot的自动配置原理

1.通过@SpringbootConfiguration引入了@EnableAutoConfiguration(负责启动自动配置功能)

2.@EnableAutoConfiguration引入了@Import

3.Spring容器启动时:加载IOC容器时会解析@Import注解。

4.@Import导入了一个deferredImportSelector,它会使SpringBoot的自动配置类的顺序在最后,这样方便我们扩展和覆盖。

5.然后读取所有的/META-INF/spring.factories文件。(SPI)

6.过滤出所有AutoConfigurationClass类型的类。

7.最后通过@Condition排除无效的自动配置类。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值