Spring Boot面试题汇总,含答案

1****什么是springboot ?

用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)

创建独立的spring引用程序 main方法运行

嵌入的Tomcat 无需部署war文件

简化maven配置

自动配置spring添加对应功能starter自动化配置

答:spring boot来简化spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用

2****Springboot 有哪些优点?

-快速创建独立运行的spring项目与主流框架集成

-使用嵌入式的servlet容器,应用无需打包成war包

-starters自动依赖与版本控制

-大量的自动配置,简化开发,也可修改默认值

-准生产环境的运行应用监控

-与云计算的天然集成

3****如何重新加载Spring Boot上的更改,而无需重新启动服务器?

这可以使用DEV工具来实现。通过这种依赖关系,您可以节省任何更改,嵌入式tomcat将重新启动。

Spring Boot有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力。Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。

开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。Spring Boot在发布它的第一个版本时没有这个功能。

这是开发人员最需要的功能。DevTools模块完全满足开发人员的需求。该模块将在生产环境中被禁用。它还提供H2数据库控制台以更好地测试应用程序。

org.springframework.boot

spring-boot-devtools

true

**4 Spring Boot、**Spring MVC 和 Spring 有什么区别?

1、Spring

Spring最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。

当我们恰当的使用 DI 或者是 IOC 的时候,我们可以开发松耦合应用。松耦合应用的单元测试可以很容易的进行。

2、Spring MVC

Spring MVC 提供了一种分离式的方法来开发 Web 应用。通过运用像 DispatcherServelet,MoudlAndView 和 ViewResolver 等一些简单的概念,开发 Web 应用将会变的非常简单。

3、SpringBoot

Spring 和 SpringMVC 的问题在于需要配置大量的参数。

Spring Boot 通过一个自动配置和启动的项来目解决这个问题。为了更快的构建产品就绪应用程序,Spring Boot 提供了一些非功能性特征。

5 什么是自动配置?

Spring 和 SpringMVC 的问题在于需要配置大量的参数。

我们能否带来更多的智能?当一个 MVC JAR 添加到应用程序中的时候,我们能否自动配置一些 beans?

Spring 查看(CLASSPATH 上可用的框架)已存在的应用程序的配置。在此基础上,Spring Boot 提供了配置应用程序和框架所需要的基本配置。这就是自动配置。

6 什么是 Spring Boot Stater ?

启动器是一套方便的依赖没描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的 Spring 和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载。

例如,如果你想使用 Sping 和 JPA 访问数据库,只需要你的项目包含 spring-boot-starter-data-jpa 依赖项,你就可以完美进行。

7 能否举一个例子来解释更多 Staters 的内容?

让我们来思考一个 Stater 的例子 -Spring Boot Stater Web。

如果你想开发一个 web 应用程序或者是公开 REST 服务的应用程序。Spring Boot Start Web 是首选。让我们使用 Spring Initializr 创建一个 Spring Boot Start Web 的快速项目。

Spring Boot Start Web 的依赖项

下面的截图是添加进我们应用程序的不同的依赖项

依赖项可以被分为:

  • Spring - core,beans,context,aop

  • Web MVC - (Spring MVC)

  • Jackson - for JSON Binding

  • Validation - Hibernate,Validation API

  • Enbedded Servlet Container - Tomcat

  • Logging - logback,slf4j

任何经典的 Web 应用程序都会使用所有这些依赖项。Spring Boot Starter Web 预先打包了这些依赖项。

作为一个开发者,我不需要再担心这些依赖项和它们的兼容版本。

8****Spring Boot 还提供了其它的哪些 Starter Project Options?

Spring Boot 也提供了其它的启动器项目包括,包括用于开发特定类型应用程序的典型依赖项。

  • spring-boot-starter-web-services - SOAP Web Services;

  • spring-boot-starter-web - Web 和 RESTful 应用程序;

  • spring-boot-starter-test - 单元测试和集成测试;

  • spring-boot-starter-jdbc - 传统的 JDBC;

  • spring-boot-starter-hateoas - 为服务添加 HATEOAS 功能;

  • spring-boot-starter-security - 使用 SpringSecurity 进行身份验证和授权;

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些关于Spring Cloud的常见面试问题及答案: 1. 什么是Spring Cloud? 答:Spring Cloud是基于Spring Boot的微服务架构开发工具集合,它提供了一系列开箱即用的组件和工具,用于构建分布式系统中的各种常见模式和功能。 2. Spring Cloud中的Eureka是什么? 答:Eureka是一个服务注册和发现的组件,它提供了服务注册中心的功能,用于管理各个微服务实例的注册和发现。 3. Spring Cloud中的Ribbon是什么? 答:Ribbon是一个负载均衡客户端,它可以和其他服务注册中心配合使用,根据负载均衡算法自动选择可用的服务实例。 4. Spring Cloud中的Feign是什么? 答:Feign是一个声明式的HTTP客户端,它简化了服务之间的调用,通过注解方式来定义和实现服务接口,底层基于Ribbon实现负载均衡。 5. Spring Cloud中的Zuul是什么? 答:Zuul是一个网关服务,它可以进行路由、过滤、日志记录等操作,用于构建统一的API网关。 6. Spring Cloud中的Hystrix是什么? 答:Hystrix是一个容错和延迟容忍库,用于处理分布式系统中的故障和延迟。它实现了断路器模式,可以防止服务故障扩散到整个系统。 7. Spring Cloud中的Turbine是什么? 答:Turbine是一个监控聚合工具,用于将多个Hystrix实例的监控数据汇总和展示。 8. Spring Cloud中的Config是什么? 答:Config是一个集中化的配置管理工具,可以将配置文件存储在远程仓库中,实现配置的动态刷新和管理。 9. Spring Cloud中的Sleuth是什么? 答:Sleuth是一个分布式跟踪系统,用于跟踪和记录请求在微服务系统中的调用链路信息。 10. Spring Cloud中的Bus是什么? 答:Bus是一个消息总线,用于将分布式系统中的事件和状态信息传播到所有微服务实例。 这些问题可以帮助面试者了解候选人对Spring Cloud的理解和经验,并评估其在微服务开发方面的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值