SpringBoot常见面试题总结

springBoot、springMVC和spring有什么区别

spring

  • spring最重要的特征是依赖注入。所有SpringModules不是依赖注入就是IOC控制反转
  • 当我们恰当的使用DI或者是IOC的时候,我们可以开发松耦合应用.松耦合应用的单元测试可以很容易的进行

springMVC

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

springBoot

  • Spring和SpringMVC的问题在于需要配置大量的参数。
  • SpringBoot通过一个自动装配和启动的项目解决这个问题。为了更快的构建产品就绪应用程序,SpringBoot提供了一些非功能性特征

什么是自动配置

  • spring和springmvc的问题在于需要配置大量的参数。
  • spring查看(CLASSPATH 上可用的框架)已存在的应用程序的配置。在此基础上,springboot提供了配置应用程序和框架所需要的基本配置,这就是自动配置。

什么是spring boot stater

  • 启动器是一套方便的依赖没有描述符,它可以放在自己的程序中。你可以一站式的获取你所需要的spring和相关技术,而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载
  • 如果你想使用Sring和JPA访问数据库,只需要你的项目包含spring-boot-starter-data-jpa依赖项,就可以完美进行

springboot还提供了其他哪些Starter Project Options

  • springboot也提供了其他的启动项目,包括用于开发特定类型应用程序的典型依赖项
    • 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 服务

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

  • springboot致力于快速产品就绪应用程序。
  • springboot提供了一些高速缓存、日志记录、监控和嵌入式服务器等开箱即用的非功能性特征
    • 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 的缓存支持

SpringBoot2.0所需要的最低java版本是什么

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

为什么需要spring-boot-maven-plugin

  • spring-boot-maven-plugin 提供了一些像jar一样打包或者运行应用程序的命令
  • spring-boot:run 运行你的 SpringBoot应用程序。
  • spring-boot:repackage 重新打包你的 jar 包或者是 war 包使其可执行
  • spring-boot:start 和 spring-boot:stop 管理 Spring Boot 应用程序的生命周期(也可以说是为了集成测试)。
  • spring-boot:build-info 生成执行器可以使用的构造信息。

什么是嵌入式服务器? 我们为什么要用嵌入式服务器

  • 嵌入式服务器就是使服务器成为应用程序的一部分
  • 当我们创建一个可以部署的程序的时候,我们将会把服务器嵌入到可部署的服务器中
  • 例如,对于一个 Spring Boot 应用程序来说,你可以生成一个包含 Embedded Tomcat 的应用程序 jar。你就可以想运行正常 Java 应用程序一样来运行 web 应用程序了。
  • 嵌入式服务器就是我们的可执行单元包含服务器的二进制文件(例如:tomcat。jar)

什么是SpringData

  • springData的使命是保证底层数据存储特殊性的前提下,为访问提供一个熟悉的,一致性的,基于Spring的编程模型
  • 这样可以让使用数据库访问技术关系数据库和非关系数据库,map-reduce 框架以及基于云的数据服务变得容易、简单。
  • 为了让他更简单,SpringData提供了不受底层数据源限制的Abstractions 接口,减少代码量的书写。

什么是SpringData REST

  • Spring Data TEST可以用来发布关于Spring数据库的hateoas restful 资源

  • Rest是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。

  • 它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

  • 满足这些约束条件和原则的应用程序或设计就是 RESTful。

如何使用SpringBoot部署到不同的服务器

  • 在项目中生成一个war文件
  • 将它部署到你想要部署的服务器上

RequestMapping和Getmapping的不同之处

  • RequestMapping具有类属性,可以进行GET、POST、PUT或者其他的注释中具有的请求方法
  • GetMapping是Get请求方法中的一个特例。它只是RequestMapping的一个延伸,目的是为了提高清晰度

JPA和hibernate有哪些区别

  • JPA是一个规范或者接口
  • Hibernate是JPA的一个实现
  • 当我们使用JPA的时候,我们使用javax.persistence包中的注释和接口时,不需要使用hibernate的导入包
  • 一般建议使用JPA注释,因为我们没有将其绑定到hibernate作为实现
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值