为什么Java程序员必须要会SpringBoot?( 三 )


相关面试题1.Spring Boot 2.0 支持最低的 JDK 版本是?
A:JDK 6B:JDK 7C:JDK 8D:JDK 9
答:C
2.Spring、Spring Boot、Spring Cloud 是什么关系?
答:它们都是来自于 Spring 大家庭,Spring Boot 是在 Spring 框架的基础上开发而来,让更加方便使用 Spring;Spring Cloud 是依赖于 Spring Boot 而构建的一套微服务治理框架 。
3.Spring Boot 项目有哪些优势?
答:Spring Boot 项目优势如下:

  • 开发变得简单,提供了丰富的解决方案,快速集成各种解决方案提升开发效率;
  • 配置变得简单,提供了丰富的 Starters,集成主流开源产品往往只需要简单的配置即可;
  • 部署变得简单,其本身内嵌启动容器,仅仅需要一个命令即可启动项目,结合 Jenkins、Docker 自动化运维非常容易实现;
  • 监控变得简单,自带监控组件,使用 Actuator 轻松监控服务各项状态 。
4.如何将 Spring Boot 项目打包成 war 包?
答:在 pom.xml 里设置 ‹packaging›war‹/packaging›。
5.在 Maven 项目中如何修改打包名称?
答:在 pom.xml 文件的 build 节点中,添加 finalName 节点并设置为要的名称即可,配置如下:
‹build›  ‹finalName›warName‹/finalName›‹/build›6.Ant、Maven、Gradle 有什么区别?
答:Ant、Maven、Gradle 是 Java 领域中主要有三大构建工具,它们的区别如下:
  • Ant(AnotherNeatTool)诞生于 2000 年,是由 Java 编写,采用 XML 作为构建脚本,这样就允许你在任何环境下运行构建 。Ant 是 Java 领域最早的构建工具,不过因为操作复杂,慢慢的已经被淘汰了;
  • Maven 诞生于 2004 年,目的是解决程序员使用 Ant 所带来的一些问题,它的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性;
  • Gradle 诞生于 2009 年,是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化建构工具 。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML 。结合了前两者的优点,在此基础之上做了很多改进,它具有 Ant 的强大和灵活,又有 Maven 的生命周期管理且易于使用 。
Spring Boot 官方支持 Maven 和 Gradle 作为项目构建工具 。Gradle 虽然有更好的理念,但是相比 Maven 来讲其行业使用率偏低,并且 Spring Boot 官方默认使用 Maven 。
7.Maven 如何设置发布的包名?
答:在 build 节点下设置 finalName 就是发布的包名,如下代码所示:
‹build›     ‹finalName›biapi‹/finalName›‹/build›8.Spring Boot 热部署有几种方式?
答:Spring Boot 热部署主要有两种方式:Spring Loaded、Spring-boot-devtools 。
方式 1:Spring Loaded
在 pom.xml 文件中添加如下依赖:
‹plugin›      ‹groupId›org.springframework.boot‹/groupId›      ‹artifactId›spring-boot-maven-plugin‹/artifactId›      ‹dependencies›        ‹dependency›          ‹groupId›org.springframework‹/groupId›          ‹artifactId›springloaded‹/artifactId›          ‹version›1.2.6.RELEASE‹/version›        ‹/dependency›      ‹/dependencies›      ‹configuration›        ‹mainClass›此处为入口类‹/mainClass›      ‹/configuration› ‹/plugin›
为什么Java程序员必须要会SpringBoot?

文章插图
 
方式 2:Spring-boot-devtools
在 pom.xml 文件中添加如下依赖:
‹dependency›      ‹groupId›org.springframework.boot‹/groupId›      ‹artifactId›spring-boot-devtools‹/artifactId›      ‹scope›provided‹/scope›      ‹optional›true‹/optional›‹/dependency›
为什么Java程序员必须要会SpringBoot?


推荐阅读