程序员社区

SpringBoot 面试宝典

Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家。本文精选了三十五个常见的Spring Boot知识点,祝你一臂之力!

问题一

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 的问题在于需要配置大量的参数。

SpringBoot 面试宝典插图

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

java项目案例 www.1b23.com   Spring Boot 提供了一些非功能性特征。

问题二

什么是自动配置?

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

SpringBoot 面试宝典插图1

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

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

问题三

什么是 Spring Boot Stater ?

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

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

问题四

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

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

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

Spring Boot Start Web 的依赖项

SpringBoot 面试宝典插图2

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

SpringBoot 面试宝典插图3

依赖项可以被分为:

  • 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 预先打包了这些依赖项。

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

问题五

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 进行身份验证和授权;

  • spring-boot-starter-data-jpa - 带有 Hibeernate 的 Spring Data JPA;

  • spring-boot-starter-data-rest - 使用 Spring Data REST 公布简单的 REST 服务;

问题六

Spring 是如何快速创建产品就绪应用程序的?

Spring Boot 致力于快速产品就绪应用程序。为此,它提供了一些譬如高速缓存,日志记录,监控和嵌入式服务器等开箱即用的非功能性特征。

spring-boot-starter-actuator - 使用一些如监控和跟踪应用的高级功能

spring-boot-starter-undertow, spring-boot-starter-jetty, spring-boot-starter-tomcat - 选择您的特定嵌入式 Servlet 容器

spring-boot-starter-logging - 使用 logback 进行日志记录

spring-boot-starter-cache - 启用 Spring Framework 的缓存支持

###Spring2 和 Spring5 所需要的最低 Java 版本是什么?

Spring Boot 2.0 需要 Java8 或者更新的版本。Java6 和 Java7 已经不再支持。

推荐阅读:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0.0-M1-Release-Notes

问题七

创建一个 Spring Boot Project 的最简单的方法是什么?

Spring Initializr是启动 Spring Boot Projects 的一个很好的工具。

SpringBoot 面试宝典插图4

就像上图中所展示的一样,我们需要做一下几步:

  • 登录 Spring Initializr,按照以下方式进行选择:

  • 选择 com.in28minutes.springboot 为组

  • 选择 studet-services 为组件

  • 选择下面的依赖项

  • Web

  • Actuator

  • DevTools

  • 点击生 GenerateProject

  • 将项目导入 Eclipse。文件 - 导入 - 现有的 Maven 项目

问题八

Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?

不是的。

Spring Initiatlizr 让创建 Spring Boot 项目变的很容易,但是,你也可以通过设置一个 maven 项目并添加正确的依赖项来开始一个项目。

在我们的 Spring 课程中,我们使用两种方法来创建项目。

第一种方法是 start.spring.io 。
另外一种方法是在项目的标题为“Basic Web Application”处进行手动设置。

手动设置一个 maven 项目

这里有几个重要的步骤:

  • 在 Eclipse 中,使用文件 - 新建 Maven 项目来创建一个新项目

  • 添加依赖项。

  • 添加 maven 插件。

  • 添加 Spring Boot 应用程序类。

到这里,准备工作已经做好!

问题九

为什么我们需要 spring-boot-maven-plugin?

spring-boot-maven-plugin 提供了一些像 jar 一样打包或者运行应用程序的命令。

  • spring-boot:run 运行你的 SpringBooty 应用程序。

  • spring-boot:repackage 重新打包你的 jar 包或者是 war 包使其可执行

  • spring-boot:start 和 spring-boot:stop 管理 Spring Boot 应用程序的生命周期(也可以说是为了集成测试)。

  • spring-boot:build-info 生成执行器可以使用的构造信息。

问题十

如何使用 SpringBoot 自动重装我的应用程序?

使用 Spring Boot 开发工具。

把 Spring Boot 开发工具添加进入你的项目是简单的。

把下面的依赖项添加至你的 Spring Boot Project pom.xml 中

SpringBoot 面试宝典插图5

重启应用程序,然后就可以了。

赞(0) 打赏
未经允许不得转载:IDEA激活码 » SpringBoot 面试宝典

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区