面试八股文---springboot

1.SpringBoot核心功能的起步依赖实现原理?
实现原理是依赖传递。
在spring-boot-starter-parent又依赖spring-boot-dependencies,其中定义了各种技术的版本信息,组合了一套最优搭配的技术版本
在各种starter中,定义了完成该功能需要的坐标合集,其中大部分版本信息来自于父工程。我们的工程继承parent,引入starter后,通过依赖传递,就可以简单方便获得需要的jar包并且不会存在版本冲突等问题。

2.SpringBoot核心功能的自动配置实现原理?
首先,所有的springboot项目的有一个启动类,这个类上有一个注解@SpringBootApplication,这个注解是一个组合注解,包含其他的三个注解,其中有一个注解@EnableAutoConfiguration是实现自动配置的关键。

这个注解通过@Import注解引入了一个类AutoConfigurationImportSelector,这个类中有一个方法,从项目的META-INF/spring.factores中读取需要加载的配置类

这些配置类比较多,大概120+个,启动的时候并不会全部加载,而是根据配置类中的条件注解@ConditionalOnXxx去判断是否加载,配置类中包含了@Configuration+@Bean注解,可以把需要用的Bean对象放到容器中,简化开发配置类的编写。

在开发中,我们在整合一些第三方技术时就可以使用这种方式,比如短信服务。通过封装发送短信的业务功能,并配置好META-INF/spring.factores
其他服务在使用的时候直接引入依赖就可以使用。

3.SpringBoot的常见配置文件的类型有哪些?
.properties
.yml
.yaml

4.读取SpringBoot配置文件的三种方式是什么?
@Value 读取少量的参数
@ConfigurationProperties+prefix+实体类 批量读取配置
@通过封装好的Environment类读取
5.Spring、SpringBoot与SpringCloud之间的关系?
Spring是Spring家族中最基础的也是最核心的一个框架,它包含两大核心模块
IOC/DI
AOP
AOP底层实现:动态代理–》引出:JDK动态代理和CGLIB动态代理的区别
AOP应用:AOP在项目中如何使用,全局异常处理、日志技术
SpringBoot用来快速构建Spring环境,解决了Spring配置繁琐和依赖导入复杂的问题,两大特色
起步依赖
自动配置
SpringCloud实际上并不是一个框架,他是一些微服务组件的集合,用来解决微服务中遇到的一些问题,这些组件如
注册中心、远程调用、配置中心、服务网关、分布式事务、分布式缓存等等,并且这些组件都是基于SpringBoot来构建的,利用了SpringBoot的特性降低了组件使用的门槛,实现开箱即用的友好体验。

6.Nacos配置中心和SpringBoot的application.yml配置了相同的属性,最终那个生效?
优先级: project.yml(nacos上的)> application.yml(本地的)>bootstrap.yml(本地的)

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
面试官要求你回答一个关于 Python 的典型问题时,下面是一个可能的八股文回答模板: 首先,我会对问题进行理解和分析,确保我准确地理解了问题的要求和背景。 然后,我会按照以下结构来回答问题: 1. **问题背景和解决思路**:我会简要介绍问题的背景和解决思路。例如,如果问题是关于列表的操作,我可能会解释什么是列表以及如何使用它们来存储和操作数据。 2. **核心代码实现**:接下来,我会给出一个基本的代码实现,以展示我对问题的理解和能力。我会尽量保持代码简洁而清晰,并结合注释来解释代码的每一步。 3. **优化和扩展**:在展示基本实现之后,我还可以讨论如何优化代码以提高性能或满足更复杂的需求。我可以提出一些常见的优化策略,例如使用生成器、使用递归等。 4. **错误处理和异常处理**:此外,我还可以谈谈在代码中处理错误和异常的重要性。我会提到一些常见的错误和异常类型,并解释如何使用 try-except 语句来捕获和处理它们。 5. **应用场景和实际例子**:最后,我会给出一些实际的应用场景和示例,以展示我对 Python 的灵活运用能力。我可以谈论一些常见的 Python 库和框架,以及它们在实际项目中的使用案例。 通过以上结构,我可以清晰地展示我对 Python 的理解、能力和经验,并给面试官留下一个积极的印象。当然,在回答问题时,我也会根据具体问题的要求进行适当调整和补充。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值