Spring Boot是一个开放源代码的轻量级框架,用于开发基于Java的应用程序。它建立在Spring之上的。它是由Pivotal团队开发和维护的。它主要用于Web和命令行应用程序。它会自动配置所有功能,您只需单击一下即可运行该应用程序。
Spring框架是用于构建应用程序的最广泛使用的 Java框架。spring框架的主要特征是依赖注入。通过允许我们开发松耦合应用程序,它可以使事情变得更简单。
Spring Boot是Spring框架的模块。Spring Boot的主要功能是自动配置。它会根据该要求自动配置一个类。Spring Boot使得创建独立的基于Spring的独立应用程序变得很容易。
主要区别在于:spring框架为开发应用程序使用了几种配置。Spring Boot允许使用预定义的类路径进行自动配置。
Spring Boot 2.X将不再支持Java 7或更低版本,最低要求是Java 8。
Spring Boot模块提供了许多启动器依赖项。这里,一些最常用的是:
Actuator是Spring Boot的子项目。它提供了多个端点来监视和管理您的应用程序。它通过提供内置端点来实现,但是您也可以构建自己的端点。还提供了访问生产就绪REST点并从Web提取所有信息的简便方法。通过Actuator,只需极少的配置即可轻松地将您的应用程序与任何外部系统集成。
在现有的POM.XML文件中检查以下Maven依赖关系:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
Spring Boot CLI是用于Spring Boot应用程序的命令行界面工具。它使用Groovy脚本,它是用于创建/管理应用程序的强大工具。
一些常见的Spring Boot注释是:
** / beans: **返回应用程序中所有spring bean的完整列表
** / dump: **执行线程Dump
** / env: **返回当前环境中的属性列表
/ health :有关您的应用程序健康信息
** / trace: **跟踪日志
/ info: 显示任意应用程序信息
/ **auditevents:**审计当前应用程序中的事件信息
/ mappings :显示所有@RequestMapping路径的列表。
** / metrics: **显示指标信息,例如:JVM,系统CPU,openfiles
Spring Boot使用一些宽松的规则将环境属性绑定到@configuartionproperties bean,因此环境属性名称和bean属性名称之间不需要完全匹配。
在Spring Boot中,首先在resources文件夹下创建一个名为static的文件夹。您可以将静态内容放入该文件夹。
例如,路径_interviewgigapp.js_将资源/ static/ JS / interviewgigapp.js_
您可以使用以下代码引用它
<script src =” / js / interviewgigapp.js”> </ script>
自动配置是一项重要功能,它可以基于类路径上的依赖关系(例如jar,bean,属性等)自动配置应用程序,而无需开发人员进行任何操作。Spring Boot自动配置会尝试根据添加的jar依赖关系自动配置Spring应用程序。
要注册自动配置类,我们必须_在META-INF / spring.factories文件中_的_EnableAutoConfiguration键下列出_其全限定名称_:=_
org.springframework.boot.autoconfigure.EnableAutoConfiguration = com.baeldung.autoconfigure.CustomAutoConfiguration
如果我们使用Maven构建项目,则应将该文件放置在资源_/ META-INF目录中_,该_目录_最终将在打包阶段中提到的位置。
您可以在命令提示符下将JAR文件作为JAR文件运行spring boot应用程序,而无需设置Web服务器。但是要运行WAR文件,您需要设置一个具有servlet容器的Web服务器,例如Tomcat,underflow或Jetty,然后在其中部署WAR文件。
它是Spring Boot团队构建的Maven插件,可简化应用程序的打包。它提供了一些命令,使您可以将代码打包为半开或运行应用程序。该插件提供了使用Spring Boot应用程序的几个目标:
_ spring-boot:repackage: _创建一个可自动执行的jar或war文件。它可以替换常规工件,或者可以使用单独的分类器附加到构建生命周期。
_ spring-boot:run: _运行带有多个选项的Spring Boot应用程序以将参数传递给它。
_ spring-boot:启动和停止: _将您的Spring Boot应用程序集成到集成测试阶段,以便该应用程序在启动之前启动。
_ spring-boot:build-info: _生成供执行器使用的构建信息。
将以下属性添加到属性(或.yml)文件中:
Server.http2.enabled = true。
这是一个Spring Boot工具,可以非常轻松地引导Boot或Spring Applications。
入门程序仅仅是Gradle或Maven模块,其唯一目的是提供所有必要的依赖关系以“入门”特定功能。Spring Boot Starters使引导过程变得更加轻松和快捷。启动器为您带来了必需的Maven依赖关系以及一些预定义的配置位。
它用于管理依赖关系并自动配置,而无需您为任何依赖关系指定版本。当我们更新Spring Boot版本时,Spring将以一致的方式自动升级所有依赖项。
Thymeleaf是用于创建Web应用程序的基于Java的库之一。它提供了在Web应用程序中提供XHTML / HTML5的支持。它是spring框架的强大模板处理引擎。
它提供了非常有用的工具集合,极大地改善了开发经验。如自动保存等。
Spring Data JPA使实现基于JPA的存储库和构建使用数据访问技术的Spring供电的应用程序变得容易。
H2是完全用Java创建的开源RDBM(理性数据库管理)系统。它可以嵌入在Java应用程序中,也可以在客户端服务器模式下运行。或它是可以在内存中运行的轻量级数据库。
@SpringBootApplication批注是以下三个spring批注的组合,并且仅用一行代码即可提供全部三个功能。
**@configuration或@springBootConfiguration(在版本2中):**指示类提供了Spring Boot应用程序@configuration。
**@componentScan:**它与Spring XMLs context:component-scan元素并行提供支持。
**@enableAutoconfiguration:**用于启用spring boot的自动配置功能。
我们可以通过在application.properties文件中指定日志级别来控制Spring Boot的日志记录。当该文件存在于类路径中时,Spring Boot会加载该文件,并且可用于配置Spring Boot和应用程序代码。
Spring Boot使用Commons Logging进行所有内部日志记录,您可以通过在application.properties文件中添加以下行来更改日志级别:
logging.level.org.springframework =debug
logging.level.com.demo =info
首先,使用_–debug_开关启动应用程序。
接下来, 在application.properties文件中_设置_logging.level.root = debug属性。
最后,在提供的日志配置文件中设置root logger的日志记录级别。