Q: 什么是spring boot?
A: 多年来,随着新功能的增加,spring变得越来越复杂。只需访问页面https://spring.io/projects,我们将看到所有在应用程序中使用的不同功能的spring项目。如果必须启动一个新的spring项目,我们必须添加构建路径或maven依赖项,配置application server,添加spring配置。因此,启动一个新的spring项目需要大量的工作,因为我们目前必须从头开始做所有事情。Spring Boot是这个问题的解决方案。Spring boot构建在现有Spring框架之上。使用spring boot,我们可以避免以前必须执行的所有样板代码和配置。因此,Spring boot帮助我们更健壮地使用现有的Spring功能,并且只需最少的工作量。
Q:Spring Boot的优点是什么?
A: Spring Boot的优点是
减少开发、测试的时间和工作量。
使用JavaConfig有助于避免使用XML。
避免大量maven导入和各种版本冲突。
提供可选的开发方法。
通过提供默认开发方式进行快速开发。
不需要单独的Web服务器。这意味着您不再需要启动Tomcat、Glassfish或其他任何东西。
由于没有web.xml文件,所以需要更少的配置。只需添加带@ configuration注释的类,然后可以添加带@ bean注释的方法,Spring将自动加载对象并像往常一样管理它。您甚至可以将@Autowired添加到bean方法中,使Spring autowire成为bean所需的依赖项。
基于环境的配置——使用这些属性,您可以将其传递到您正在使用的应用程序环境中:- dspring .profile .active={enviorement}。在加载主应用程序属性文件之后,Spring将在(application-{environment}.properties)处加载后续的应用程序属性文件。
Q:您使用过哪些构建工具来开发Spring引导应用程序?
A: Spring Boot应用程序可以使用Maven和Gradle开发。
Q:什么是JavaConfig?
A:Spring JavaConfig是Spring社区的一个产品,它提供了一种纯java方法来配置Spring IoC容器。因此,它有助于避免使用XML配置。使用JavaConfig的优点是:
面向对象的配置。因为配置在JavaConfig中定义为类,所以用户可以充分利用Java中的面向对象特性。一个配置类可以子类化另一个配置类,覆盖它的@Bean方法,等等。
减少或消除XML配置。已经证明了基于依赖注入原则的外部化配置的好处。然而,许多开发人员不愿意在XML和Java之间来回切换。JavaConfig为开发人员提供了一种纯java方法来配置Spring容器,这种方法在概念上类似于XML配置。从技术上讲,仅使用 JavaConfig配置类来配置容器是可行的,但是在实践中,许多人发现将JavaConfig与XML混合并匹配是理想的。
类型安全的重构能力。JavaConfig提供了一种类型安全的配置Spring容器的方法。由于Java 5.0对泛型的支持,现在可以通过类型而不是名称检索bean,不需要进行任何基于类型转换或字符串的查找。
问:如何在不重启服务器的情况下在Spring引导时重新加载我的更改?
答:这可以通过开发工具来实现。有了这个依赖项,您保存的任何更改都将重新启动嵌入的tomcat。Spring Boot有一个开发人员工具(DevTools)模块,它有助于提高开发人员的工作效率。Java开发人员面临的关键挑战之一是将文件更改自动部署到服务器并自动重启服务器。开发人员可以在Spring引导时重新加载更改,而不必重新启动服务器。这将消除每次手动部署更改的需要。Spring Boot在发布第一个版本时没有这个特性。这是开发人员最需要的特性。DevTools模块完全满足开发人员的需求。此模块将在生产环境中禁用。它还提供了H2-database控制台,以便更好地测试应用程序。使用以下依赖项
1 2 3 4 5 |
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> |
下面的示例演示了自动启动和H2 DB控制台的DevTool依赖项用法
什么是Spring boot actuator?
答:Spring boot actuator是Spring boot framework的重要特性之一。Spring boot actuator帮助您访问生产环境中正在运行的应用程序的当前状态,在生产环境中必须检查和监视几个指标。甚至一些外部应用程序也可能使用这些服务来触发对相关人员的警报消息。actuator模块公开一组REST