最近一场面试(Spring Boot)

导读:本篇文章讲解 最近一场面试(Spring Boot),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、什么是Spring Boot

(1)Spring Boot是Spring的子项目,Boot是“引导”的意思,Spring 的 Boot

(2)通过Spring Boot可以快速配置Spring 项目,并且在Spring的官方还提供了快速创建Spring Boot项目的脚手架,以及在IntelliJ IDEA中还提供了Spring Initializr

(3)通过Spring Boot可以快速引入各种框架(如:Spring MVC、Spring AOP、MyBatis等),当然,这也得益于Maven(或Gradle)

(4)Spring Boot 还提供了各种 Starter 启动器,提供标准化的默认配置。例如:

spring-boot-starter-web 启动器,可以快速配置 Spring MVC 。

mybatis-spring-boot-starter 启动器,可以快速配置 MyBatis 。

2、Spring Boot提供了哪些核心功能

{

官网(https://spring.io/projects/spring-boot)对Spring Boot的核心功能是这样描述的:

Features

  • Create stand-alone Spring applications

  • Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)

  • Provide opinionated ‘starter’ dependencies to simplify your build configuration

  • Automatically configure Spring and 3rd party libraries whenever possible

  • Provide production-ready features such as metrics, health checks, and externalized configuration

  • Absolutely no code generation and no requirement for XML configuration

【有道翻译】

特征

  • 创建独立的Spring应用程序

  • 直接嵌入Tomcat、Jetty或Undertow(无需部署WAR文件)

  • 提供自以为是的“初学者”依赖项,以简化您的构建配置

  • 尽可能自动配置Spring和第三方库

  • 提供生产就绪特性,如指标、健康检查和外部化配置

  • 绝对不需要代码生成,也不需要XML配置

}

也就是说:

(1)可以独立运行Spring项目。把Spring Boot项目可以打成jar包,然后通过命令 java -jar xxx.jar就可以运行了

(2)内嵌了Servlet容器。Spring Boot可以选择内嵌Tomcat、Tomcat、Jetty或Undertow,然后就可以无须以war包的形式部署项目

(3)提供了starter简化 maven配置。

(4)自动配置Spring Bean 。Spring Boot检查到特定类时,就会对这个应用进行自动配置Bean

(5)准生产的应用监控。Spring Boot提供基于HTTP、JMX、SSH对运行时的项目进行监控

(6)无代码生成和XML配置。Spring Boot 没有引入任何形式的代码生成,它是使用的 Spring 4.0 的条件 @Condition 注解以实现根据条件进行配置。同时使用了 Maven /Gradle 的依赖传递解析机制来实现 Spring 应用里面的自动配置。

3、Spring Boot 的优点

编码、配置、部署、监控 都变得更简单。

( 围绕着这些说就差不多了(*^▽^*) )

4、说一下在项目中,是如何统一引入 Spring Boot 版本

两种方式:

(1)方式一:继承 spring-boot-starter-parent 项目:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.1.RELEASE</version>
</parent>

(2)方式二:导入 spring-boot-dependencies 项目依赖:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.2.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

5、Spring Boot 的配置文件有哪几种格式

Spring Boot 目前支持两种格式的配置文件:.properties和.yml

写法是有区别的,示例:

.properties 格式:

server.port = 8080

.yml 格式:

server:

    port: 8080

6、为什么要使用嵌入式服务器?

不需要要下载安装tomcat,应用也不用再打成war包放在webapp目录下才能运行,只需要安装一个Java虚拟机,就可以直接在上面部署应用程序。在Spring Boot中内置了tomcat.jar,运行main方法时会启动tomcat,利用tomcat的spi机制可以直接加载Spring MVC。

7、如何理解 Spring Boot 中的 Starter

使用spring + springmvc使用,如果需要引入mybatis等框架,需要到xml中定义mybatis需要的bean

starter
就是定义一个
starter

jar
包,写一个
@Configuration
配置类、将这些
bean
定义在里面,然后在
starter
包的
META-INF/spring.factories
中写入该配置类,
springboot
会按照约定来加载该配置类
开发人员只需要将相应的
starter
包依赖进应用,进行相应的属性配置(使用默认配置时,不需要配
置),就可以直接进行代码开发,使用对应的功能了,比如
mybatis-spring-boot–starter

spring
boot-starter-redis

Spring Boot的Starter使集成其他框架变得更方便。以集成mybatis为例:

(1)之前的spring + spring mvc + mybatis的使用中,需要到xml中定义mybatis需要的bean

最近一场面试(Spring Boot)

 (2)而在Spring Boot + mybatis中,Spring Boot的starter就是定义了一个starter的jar包,在@Configuration配置类将bean定义在其中,然后在starter包的META-INF/spring.factories中引入该配置类,最后Spring Boot会按照约定来加载该配置类。这就是“约定优于配置”。

在开发中,我们只需要将相应的starter包的依赖引入项目,进行相应的属性配置(数据库四要素等),就可以直接可以使用对应的功能了,如mybatis-spring-boot–starter。

最近一场面试(Spring Boot)

7、说一下Spring Boot 自动配置

https://blog.csdn.net/weixin_45764765/article/details/110250531

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117631.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!