springboot面试题抄给自己背的

springboot 面试题

aop面向切面编程

aop可以说是对oop的补充和完善,oop引入封装,继承,多肽等概念来建立对象层次结构

ioc 控制反转

比如 a类调用b类的方法 以前通过oop的思想是通过new b对象 然后在调用b的方法,这种模式就会导致对象之间的耦合度过高,为了解决这样的问题,我们把这个new的事情交给spring来做在我们调用的时候,容器会帮我们实例化( ioc对spring框架来说 由spring来负责控制对象的生命周期和对象的关系 )

spring boot自动配置的原理是啥

springboot程序主启动类 @SpringBootApplication=>@EnableAutoConfiguration=>AutoConfigurationImportSelector.class类=>selectImports()方法=>getConfigurations()方法获取并且返回

@SpringBootApplication
在这里插入图片描述
@EnableAutoConfiguration
在这里插入图片描述AutoConfigurationImportSelector.class类
在这里插入图片描述
selectImports()方法获取configurations并且返回
在这里插入图片描述

谈谈你对springboot的理解 (优点)

1: springboot主要用来简化使用spring的难度和繁重的xml配置( 通过.properties或者.yml文件替代spring繁杂的xml配置文件 )
2: 他也能像spring项目样独立运行,简化配置,自动配置,无需部署war文件等
3: 提供嵌入式http服务器,如tomcat和jetty 能轻松开发web项目及测试web项目
4: 可以兼容老的spring项目通过@ImportResource注解就能导入老的spring项目的配置文件

springboot的核心配置文件有哪几个,区别时啥 (application跟bootstrap配置文件)

application配置文件主要用于springboot项目的自动化配置
bootstrap配置文件有3个应用场景:
1: 固定的不能被覆盖的属性
2: 加密解密的场景
3: 使用springcloud config配置中心时,需要在bootstrap配置文件中添加连接到配置中心的配置属性,来加载外部配置中心的配置信息

springboot的配置文件有哪几种格式 区别是啥

1: .properties跟 .yml
区别: 书写格式不同,yml不支持@PropertySource 注解导入配置

开启springboot特性有哪几种方式?

1: 继承spring-boot-starter-parent项目
2: 导入spring-boot-dependencies项目依赖

springboot读取配置文件的几种方式

1:使用@value注解加载单个属性值
2:使用@ConfigurationProperties注解加载一组属性值,针对加载的属性过多的情况,比@value注解更加简洁

springboot的核心注解是那个(@springbootapplication)

启动类使用的注解 他是一个复合注解 主要包含3个注解
1: @SpringBootConfiguration:组合了@Configuration 注解,实现配置文件的功能
2: @EnableAutoConfiguration:打开自动配置的功能,关闭某个自动配置的选项
3: @ComponentScan:用于Spring组件扫描

springboot配置加载顺序

.propertiese文件>.yaml文件

yaml文件的优势

1:简介方便
2:支持数组,
3:配置有序

什么是javaConfig

JavaConfig 可以看成一个用于完成 Bean 装配的 Spring 配置文件,即 Spring 容器,只不过该容器不是 XML文件,而是由我们自己使用 Java 编写的 Java 类,在自己编写的类上使用@Configuration 注解使当前类作为容器来使用

Guess you like

Origin blog.csdn.net/weixin_47975118/article/details/121517948