8. Spring Boot面试题汇总

发布于:2024-05-19 ⋅ 阅读:(254) ⋅ 点赞:(0)

Java全栈面试题汇总目录-CSDN博客

1. 什么是Spring Boot?

Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,节省了繁重的配置,提供了各种启动器,开发者能快速上手。

2. Spring Boot有哪些优点?

  • 容易上手,提升开发效率,为Spring开发提供一个更快、更广泛的入门体验
  • 开箱即用,远离繁琐的配置
  • 提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等
  • 没有代码生成,也不需要XML配置
  • 避免大量的Maven导入和各种版本冲突

3. Spring Boot的核心注解是哪个,它主要由哪几个注解组成的?

启动类上面的注解是@SpringBootApplication,它也是Spring Boot的核心注解,主要组合包含了以下3个注解:

@SpringBootConfiguration:组合了@Configuration注解,实现配置文件的功能。

@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})。

@ComponentScan:Spring组件扫描。

4. Spring Boot自动配置原理是什么?

注解@EnableAutoConfiguration,@Configuration,@ConditionalOnClass就是自动配置的核心,

@EnableAutoConfiguration给容器导入META-INF/spring.factories里定义的自动配置类。

筛选有效的自动配置类。

每一个自动配置类结合对应的xxxProperties.java读取配置文件进行自动配置功能

5. Spring Boot是否可以使用XML配置?

Spring Boot推荐使用Java配置而非XML配置,但是Spring Boot中也可以使用XML配置,通过@ImportResource注解可以引入一个XML配置。

6. Spring Boot核心配置文件是什么,bootstrap.properties和application.properties有何区别?

单纯做Spring Boot开发,可能不太容易遇到bootstrap.properties配置文件,但是在结合Spring Cloud时,这个配置就会经常遇到了,特别是在需要加载一些远程配置文件的时侯。

Spring Boot核心的两个配置文件:

bootstrap(.yml或者.properties):boostrap由父ApplicationContext加载的,比applicaton优先加载,配置在应用程序上下文的引导阶段生效。一般来说我们在Spring Cloud Config或者Nacos中会用到它。且boostrap里面的属性不能被覆盖;

application(.yml或者.properties):由ApplicatonContext加载,用于Spring Boot项目的自动化配置。

7. 如何实现Spring Boot应用程序的安全性?

为了实现Spring Boot的安全性,我们使用spring-boot-starter-security依赖项,并且必须添加安全配置。它只需要很少的代码。配置类将必须扩展WebSecurityConfigurerAdapter并覆盖其方法。

8. Spring Boot中如何解决跨域问题?

在后端通过(CORS,Cross-origin resource sharing)来解决跨域问题。这种解决方案并非Spring Boot特有的,在传统的SSM框架中,就可以通过CORS来解决跨域问题,只不过之前我们是在XML文件中配置CORS,现在可以通过实现WebMvcConfigurer接口然后重写addCorsMappings方法解决跨域问题。


网站公告

今日签到

点亮在社区的每一天
去签到