Spring Boot是一个Spring模块,向Spring框架提供RAD(快速应用程序开发)功能。

此Spring Boot教程提供了Spring Framework的基本和高级概念。涵盖了Spring Boot的所有主题,例如功能,项目,maven项目,启动程序项目向导,Spring Initializr,CLI,应用程序,注释,依赖项管理,属性,启动程序,执行器,JPA,JDBC等。

1.Spring Boot是什么?

Spring Boot是一个在Spring框架顶部构建的项目。 它提供了一种简单,快速的方法来设置,配置和运行简单的和基于Web的应用程序。它是一个Spring模块,向Spring Framework提供RAD(快速应用程序开发)功能。 它用于创建一个独立的基于Spring的应用程序,因为它需要最少的Spring配置,因此可以运行。

Spring Boot是什么?

简而言之,Spring Boot是Spring框架和嵌入式服务器的结合。

在Spring Boot中,不需要XML配置(部署描述符)。 它使用约定而不是配置软件设计范例,这样的话它能有效的减少了开发人员的工作量。

我们可以使用Spring STS IDE或Spring Initializr开发Spring Boot Java应用程序。

为什么要使用Spring Boot Framework?

使用Spring Boot Framework的原因如下:

  • 在Spring Boot中使用了依赖注入方法。
  • 它包含强大的数据库事务管理功能。
  • 它简化了与其他Java框架(如JPA/Hibernate ORM,Struts等)的集成。
  • 它减少了应用程序的成本和开发时间。

与Spring Boot Framework一起,其他许多Spring相关项目也有助于构建满足现代业务需求的应用程序。 Spring相关项目如下:

  • Spring Data:简化了从关系数据库和NoSQL数据库的数据访问。
  • Spring Batch:它提供了强大的批处理功能。
  • Spring Security:这是一个为应用程序提供强大安全性的安全框架。
  • Spring Social:它支持与LinkedIn之类的社交网络集成。
  • Spring Integration:它是企业集成模式的实现。它有助于使用轻量级消息传递和声明性适配器与其他企业应用程序集成。

2.Spring Boot的优点和缺点

Spring Boot有以下的优点 -

  • 它创建可以使用Java -jar启动的独立Spring应用程序。
  • 借助Tomcat,Jetty等不同的嵌入式HTTP服务器,它可以轻松测试Web应用程序,不需要部署WAR文件。
  • 它提供了自以为是的“入门” POM,以简化Maven配置。
  • 它提供了可用于生产的功能,例如指标,运行状况检查和外部化配置。
  • 不需要XML配置。
  • 它提供了一个CLI工具,用于开发和测试Spring Boot应用程序。
  • 它提供了许多插件。
  • 它还最大程度地减少了编写多个样板代码(该代码可在几乎没有任何更改的情况下应用到很多地方),XML配置和注释。
  • 它提高了生产率并减少了开发时间。

Spring Boot的缺点 -

  • Spring Boot可以使用应用程序中不使用的依赖项,这些依赖性增加了应用程序的大小。

3.Spring Boot的目标

Spring Boot的主要目标是减少开发,单元测试和集成测试时间。

  • 提供有思想的发展方法;
  • 避免定义更多注释配置;
  • 避免编写大量导入语句;
  • 避免使用XML配置;
  • 通过提供或避免上述几点,Spring Boot Framework减少了开发时间,开发人员工作量并提高了生产率。

4.Spring Boot的前提条件

要创建Spring Boot应用程序,必须满足以下先决条件。 在本教程中,我们使用Spring Tool Suite(STS)IDE作为开发工具。

  • Java 1.8;
  • Maven 3.0+;
  • Spring框架5.0.0.BUILD-SNAPSHOT;
  • 建议使用IDE(Spring工具套件)。

Spring Boot功能如下 -

  • Web开发
  • Spring应用
  • 应用程序事件和监听器
  • 管理功能
  • 外部化配置
  • 属性文件
  • YAML支持
  • 类型安全配置
  • 日志记录
  • 安全

Web开发

它是用于Web应用程序开发的非常适合的Spring模块。可以轻松创建一个使用嵌入式服务器(例如Tomcat,Jetty或Undertow)的自包含HTTP应用程序。可以使用spring-boot-starter-web模块来快速启动和运行应用程序。

Spring应用

SpringApplication是一个类,提供了一种方便的方式来引导Spring应用程序。 可以从main方法开始,仅通过调用静态run()方法来调用应用程序。

应用程序事件和监听器

Spring Boot使用事件来处理各种任务。 它允许创建用于添加侦听器的工厂文件。可以使用ApplicationListener键来引用它。

META-INF文件夹中创建工厂文件,例如META-INF/spring.factories

管理支持

Spring Boot提供了为应用程序启用与管理相关的功能的功能。 它用于远程访问和管理应用程序。使用spring.application.admin.enabled属性在Spring Boot应用程序中启用它。

外部化配置

Spring Boot允许外部化配置,以便可以在不同环境中使用同一应用程序。应用程序是通过使用YAML文件来外部化配置。

属性文件

Spring Boot提供了丰富的应用程序属性集。因此,可以在项目的属性文件中使用它。该属性文件用于设置类似server-port=8082等属性。它主要帮助组织应用程序属性。

YAML支持

它提供了一种方便的方法来指定层次结构。它是JSON的超集。 SpringApplication类自动支持YAML。它是属性文件的替代方法。

类型安全配置

提供了强大的类型安全配置来管理和验证应用程序的配置。应用程序配置始终是至关重要的任务,应该是类型安全的。还可以使用此库提供的注释。

日志记录

Spring Boot将Common日志记录用于所有内部日志记录。默认情况下管理日志依赖项。如果不需要自定义,则不应更改日志记录依赖性。

安全

Spring Boot应用程序是基于Spring的Web应用程序。因此,默认情况下,通过所有HTTP端点上的基本身份验证,它是安全的。丰富的端点集可用于开发安全的Spring Boot应用程序。

教程目录

基础部分

创建对象

对象组件