Spring Boot常见面试题总结

简介: Spring Boot常见面试题总结

(原创不易,你们对阿超的赞就是阿超持续更新的动力!)

(以免丢失,建议收藏)

Spring Boot自动装配

含义:

SpringBoot的核心就是自动配置,自动配置又是基于条件判断来配置Bean

主要关注的几个注解如下:

@SpringBootConfiguration:标记当前类为配置类

@EnableAutoConfiguration:开启自动配置

@ComponentScan:扫描主类所在的同级包以及下级包里的Bean


关键是@EnableAutoConfiguration

最关键的要属@Import(EnableAutoConfigurationImportSelector.class),

借助EnableAutoConfigurationImportSelector,@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器:

通过@Import(AutoConfigurationImportSelector.class)导入的配置功能,

AutoConfigurationImportSelector中的方法getCandidateConfigurations,得到待配置的class的类名集合,这个集合就是所有需要进行自动配置的类,而是是否配置的关键在于META-INF/spring.factories文件中是否存在该配置信息

Spring Boot常用注解

@SpringBootApplication(复合注解):

@SpringBootConfiguration:标记当前类为配置类,主要用于加载配置文件

@EnableAutoConfiguration:自动配置的注解

@ComponentScan:主要用于组件扫描和自动装配(扫描主类所在的同级包以及下级包里的Bean)

@RestController:使用的效果是将方法返回的对象直接在浏览器上展示成json格式,用于标注控制层组件(包含@Controller和@ResponseBody);

@Configuration:主要用于加载配置文件,指出该类是 Bean 配置的信息源,相当于XML中的,一般加在主类上;

@Bean:相当于XML中的,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理;

@Autowired:自动注入,默认按类型装配;

@PathVariable:路径变量注解,获取参数;

@ImportResource:将资源导入容器;

@PropertySource:导入properties文件;

@MapperScan:Spring Boot支持mybatis组件的一个注解,通过此注解指定mybatis接口类的路径,即可完成对mybatis接口的扫描

Spring Boot需要独立容器进行运行吗

Spring Boot不需要独立的容器就可以运行,因为在Spring Boot工程发布的jar文件里已经包含了tomcat的jar文件。Spring Boot运行的时候,会创建tomcat对象,实现web服务功能。也可以将Spring Boot发布成war文件,放到tomcat里运行。

Spring Boot和Spring Cloud

SpringBoot是Spring推出用于解决传统框架配置文件冗余,装配组件繁杂的基于Maven的解决方案,旨在快速搭建单个微服务。

而SpringCloud专注于解决各个微服务之间的协调与配置,服务之间的通信、熔断、负载均衡等

技术维度并相同,并且SpringCloud是依赖于SpringBoot的,而SpringBoot并不是依赖与SpringCloud,甚至还可以和Dubbo进行优秀的整合开发

总结:

SpringBoot专注于快速方便的开发单个个体的微服务

SpringCloud是关注全局的微服务协调整理治理框架,整合并管理各个微服务,为各个微服务之间提供配置管理、服务发现、断路器、路由、事件总线等集成服务

SpringBoot不依赖于SpringCloud,SpringCloud依赖于SpringBoot,属于依赖关系

SpringBoot专注于快速,方便的开发单个的微服务个体,SpringCloud关注全局的服务治理框架


目录
相关文章
|
2天前
|
Java Spring
Spring面试题pro版-5
Spring面试题pro版-5
16 0
|
2天前
|
Java Spring
Spring面试题pro版-4
Spring面试题pro版-4
15 0
|
2天前
|
XML Java 数据格式
Spring面试题pro版-3
Spring面试题pro版-3
30 0
|
2天前
|
设计模式 安全 Java
Spring面试题系列-6
Spring面试题系列-6
22 1
|
2天前
|
XML 安全 Java
Spring面试题系列-5
Spring面试题系列-5
15 1
|
2天前
|
设计模式 Java 数据库
Spring面试题系列-4
Spring面试题系列-4
21 1
|
2天前
|
XML 缓存 Java
Spring面试题系列-2
Spring面试题系列-2
23 1
|
2天前
|
Java 数据库连接 开发者
Spring面试题系列-1
Spring面试题系列-1
24 1
|
2天前
|
监控 Java 应用服务中间件
Spring Boot 源码面试知识点
【5月更文挑战第12天】Spring Boot 是一个强大且广泛使用的框架,旨在简化 Spring 应用程序的开发过程。深入了解 Spring Boot 的源码,有助于开发者更好地使用和定制这个框架。以下是一些关键的知识点:
20 6
|
23小时前
|
负载均衡 监控 Java
我把Spring Cloud的超详细资料介绍给你,面试官不会生气吧?geigei
我把Spring Cloud的超详细资料介绍给你,面试官不会生气吧?geigei