ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1.spring boot面试题

2022-08-21 16:01:31  阅读:185  来源: 互联网

标签:面试题 SpringBoot spring 配置 boot Spring properties


Spring Boot基础

1.什么是spring boot?

通过自动配置方式简化Spring应用的开发,弱化配置,遵循约定大于配置的原则,使开发者专注于业务开发而无需过多考虑配置相关操作,通过启动类的main方法一键启动应用。

 

2.spring boot有哪些有点?

1、独立运行
     内嵌了servlet,tomat等,不需要打成war包部署到容器中,只需要将SpringBoot项目打成jar包就能独立运行。 
2、简化配置
     启动器自动依赖其他组件,简少了 maven 的配置。各种常用组件及配置已经默认配置完成,无需过多干预。
3、避免大量的Maven导入和各种版本冲突 4、应用监控 Spring Boot 提供一系列端点可以监控服务及应用。

 

3.spring boot的核心注解是什么?由哪些注解组成?

  核心注解为:@SpringBootApplication

  该注解主要由三个注解组成:

    @SpringBootConfiguration:代表当前是一个配置类

    @EnableAutoConfiguration:启动自动配置

    @ComponentScan:指定扫描哪些Spring注解

 

4.SpringBoot自动配置的原理是什么?

简而言之,整个过程就是将类路径下"META-INF/spring.factories"里面配置的所有EnableAutoConfiguration的值加入到容器中。

 

5.如何理解spring boot配置加载顺序?

 

6.运行 SpringBoot 有哪几种方式?

1、直接执行 main 方法运行
2、打包用Java命令行执行
3、用 Maven/ Gradle 插件运行

7.SpringBoot 需要独立的容器运行吗?

不需要,SpringBoot内置tomcat/jetty等容器

8.开启SpringBoot 特性有哪几种方式?

  继承spring-boot-starter-parent项目

  导入spring-boot-dependencies项目依赖 

9.SpringBoot、Spring MVC和Spring有什么区别?

Spring:主要用来创建IOC容器,依赖注入,实现程序间的松耦合
SpringMVC: 主要是用来做WEB开发,通过各种组件的协调配合,简化Web应用的开发
SpringBoot: SpringBoot更像是一个管家,当使用到对应功能时,只需要导入指定应用启动器,SpringBoot就能够在底层默认其配置,大大简化了开发所需的繁杂配置

10.SpringBoot启动时都做了什么?

1.SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值

2.将这些值作为自动配置类导入容器 , 自动配置类就生效 , 帮我们进行自动配置工作;

3.整个J2EE的整体解决方案和自动配置都在springboot-autoconfigure的jar包中;

4.它会给容器中导入非常多的自动配置类 (xxxAutoConfiguration), 就是给容器中导入这个场景需要的所有组件 , 并配置好这些组件 ;

5.有了自动配置类 , 免去了我们手动编写配置注入功能组件等的工作; 作者:分享编程资料的王老师 https://www.bilibili.com/read/cv13720296 出处:bilibili

 

SpringBoot配置

1,什么是YAML?

YAML 是一种人类可读的数据序列化语言。它通常用于配置文件。与属性文件相比,如果我们想要在配置文件中添加复杂的属性,YAML 文件就更加结构化,而且更少混淆。可以看出 YAML 具有分层配置数据。

2.YAML 配置的优势在哪里 ?

1 配置有序,在一些特殊的场景下,配置有序很关键
2 支持数组,数组中的元素可以是基本数据类型也可以是对象
3 简洁

相比 properties 配置文件,YAML 还有一个缺点,就是不支持 @PropertySource 注解导入自定义的 YAML 配置。

3.SpringBoot 是否可以使用 XML 配置 

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

4.SpringBoot核心配置文件是什么?

bootstrap.propertiesapplication.properties

5.bootstrap.properties和application.properties 有何区别 ?

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

  APPlication (.yml或者.properties):由APPlicatonContext 加载,用于 SpringBoot项目的自动化配置。

6.什么是Spring Profiles?

为了适应多环境配置,可以在项目中配置多个application配置文件,根据应用场景不同,通过application-*中的*来决定启用某个配置文件。

SpringBoot安全性

1.如何实现SpringBoot应用程序的安全性?

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

2.比较一下Spring Security 和Shiro各自的优缺点 ?

3.SpringBoot中如何解决跨域问题 ?

4,什么是 CSRF 攻击?

5.SpringBoot 中的监视器是什么?

6.如何在SpringBoot中禁用Actuator端点安全性?

7.如何监视所有SpringBoot微服务?

SpringBoot进阶

1.什么是 WebSockets?

2.什么是 Spring Data?

3.什么是 Spring Batch?

4.什么是 FreeMarker 模板?

5.如何集成 SpringBoot和ActiveMQ

6.Swagger用过麽?他用来做什么?

7.前后端分离,如何维护接口文档 ?

8.SpringBoot项目如何热部署

9.SpringBoot 中的starter到底是什么 ?

10.spring-boot-starter-parent 有什么用?

11.SpringBoot 打成的jar和普通的jar有什么区别 ?

12.如何使用SpringBoot实现异常处理?

13.如何使用SpringBoot实现分页和排序?

14.微服务中如何实现 session 共享?

15.SpringBoot 中如何实现定时任务?

 

标签:面试题,SpringBoot,spring,配置,boot,Spring,properties
来源: https://www.cnblogs.com/midiyu/p/16610127.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有