首页 > 其他分享 >1.spring boot面试题

1.spring boot面试题

时间:2022-08-21 15:55:08浏览次数:73  
标签:面试题 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
From: https://www.cnblogs.com/midiyu/p/16610127.html

相关文章

  • 【Java面试】并发编程高频面试题,请你说一下你对Happens-Before的理解
    “请你说一下你对Happens-Before的理解”你听到这个问题的时候,知道怎么回答吗?大家好,我是Mic,一个工作了14年的Java程序员。并发编程是面试过程中重点考察的方向,能够考察......
  • spring 整合 rabbitmq
    一、基本配置1、pom添加以下jar<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.7.5</ve......
  • SpringBean的实例化
    在Spring框架中,想使用Spring容器中的Bean,需要先实例化BeanSpringBean的实例化有3种方式构造方法实例化(最常用)在Java配置类中,写一个构造方法,在这个构造方法中new一个......
  • 【博学谷学习记录】超强总结,用心分享。 Spring核心容器
    SpringFramework系统架构一.核心容器1.概念:代码书写现状:耦合度偏高解决方法:使用对象时,在程序中不要主动使用n......
  • Spring 05: 用DI(依赖注入)优化Spring接管下的三层项目架构
    背景用注解改造前面Spring博客集里(指Spring02)Spring接管下的三层项目架构对前面Spring博客集里(指Spring04)@Controller+@Service+@Repository3个注解的用法......
  • spring5 事务
    1.事务介绍1.1事务添加到javaEE的service1.2声明式事务和编程试1.3声明式xml事务开发注解方式1.4在Spring中进行事务开发底层用的aop原理1.5Spring事......
  • uboot如何启动内核
    uboot和内核是什么uboot就是一个裸机程序uboot本质就是一个复杂的裸机程序内核本质也是一个“裸机程序”操作系统内核本质上与uboot和其他裸机程序没什么不同。区别就是......
  • SpringBoot的基本概念(1)
     1.为什么使用springboot springboot容易上手,做了jar包的版本控制,不用考虑maven依赖,方便敏捷开发,内置tomcat减少开发配置,由于SPI提供对外的starter扩展。 2.spr......
  • Spring源码学习笔记4——BeanFactoryPostProcessor执行
    一丶BeanFactoryPostProcessor是什么Spring留给我们的一个扩展接口,在BeanDefinition加载注册完之后,并执行一些前置操作(笔记3)之后会反射生产所有的BeanFactoryPostProcesso......
  • 新建Springboot项目默认test包下的测试类报错缺少org.junit.jupiter.api
    参考CSDN博客链接:https://blog.csdn.net/weixin_39764056/article/details/104402593本人使用IDEA新建了一个Springboot项目,然后导入了spring-boot-start-test依赖,该项目......