英文链接源链接 [20757]
contenteditable="true"

Spring Boot - Introduction 介绍

Spring Boot是用于创建微服务的基于Java的开源框架。它是由Pivotal Team开发的,用于构建独立的和生产就绪的弹簧应用程序。本章将向您介绍Spring Boot,并使您熟悉其基本概念。

什么是微服务?

微服务是允许开发人员独立开发和部署服务的体系结构。每个运行的服务都有其自己的流程,这实现了轻量级模型来支持业务应用程序。

好处

微服务为其开发人员提供以下优势-

  • 轻松部署
  • 简单的可伸缩性
  • 与容器兼容
  • 最低配置
  • 更少的生产时间

什么是Spring Boot?

Spring Boot为Java开发人员提供了一个很好的平台,用于开发独立的生产级Spring应用程序,您可以直接运行。您可以开始使用最低配置,而无需整个Spring配置设置。

好处

Spring Boot为其开发人员提供以下优势-

  • 易于理解和开发spring应用程序
  • 提高生产力
  • 减少开发时间

Goals

Spring Boot的设计目标如下:

  • 为避免在Spring中进行复杂的XML配置
  • 以更简单的方式开发可用于生产环境的Spring应用程序
  • 减少开发时间并独立运行应用程序
  • 提供一种更简单的应用程序入门方法

为什么选择Spring Boot?

您可以选择Spring Boot,因为它具有此处提供的功能和优点-

  • 它提供了一种灵活的方法来配置Java Bean,XML配置和数据库事务。

  • 它提供了强大的批处理功能并管理REST端点。

  • 在Spring Boot中,所有内容都是自动配置的;无需手动配置。

  • 它提供了基于注释的spring应用程序

  • 简化依赖管理

  • 它包含嵌入式Servlet容器

它是如何工作的?

Spring Boot使用 @EnableAutoConfiguration 批注,根据您添加到项目中的依赖项自动配置您的应用程序。例如,如果MySQL数据库位于类路径上,但尚未配置任何数据库连接,则Spring Boot会自动配置内存数据库。

Spring Boot应用程序的入口点是包含 @SpringBootApplication 批注和main方法的类。

Spring Boot使用 @ComponentScan 批注自动扫描项目中包含的所有组件。

春季启动启动器

对于大型项目,处理依赖关系管理是一项艰巨的任务。 Spring Boot通过提供一组依赖关系来解决此问题,以方便开发人员。

例如,如果要使用Spring和JPA进行数据库访问,则在项目中包含 spring-boot-starter-data-jpa 依赖关系就足够了。

请注意,所有Spring Boot启动器都遵循相同的命名方式 spring-boot-starter- *,其中*表示这是应用程序的一种。

例子

查看下面解释的以下Spring Boot启动器,以更好地理解-

Spring Boot Starter Actuator依赖项用于监视和管理您的应用程序。其代码如下所示-

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Boot Starter Security依赖项用于Spring Security。其代码如下所示-

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Spring Boot Starter Web依赖项用于编写Rest Endpoints。其代码如下所示-

<dependency&gt
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot Starter百里香叶依赖项用于创建Web应用程序。其代码如下所示-

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot Starter Test依赖项用于编写测试用例。其代码如下所示-

<dependency&gt
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test<artifactId>
</dependency>

自动配置

Spring Boot 自动配置 automatically configures your Spring application based on the JAR dependencies you added in the project. For example, if MySQL database is on your class path, but you have not configured any database connection, then Spring Boot auto configures an in-memory database.

为此,您需要在主类文件中添加 @EnableAutoConfiguration 批注或 @SpringBootApplication 批注。然后,您的Spring Boot应用程序将被自动配置。

观察以下代码以更好地理解-

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@EnableAutoConfiguration
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Spring Boot应用程序

The entry point of the Spring Boot应用程序 is the class contains @SpringBootApplication annotation. This class should have the main method to run the Spring Boot application. @SpringBootApplication annotation includes Auto- Configuration, 组件扫描, and Spring Boot Configuration.

如果在类中添加了 @SpringBootApplication 批注,则无需添加 @EnableAutoConfiguration,@ComponentScan 和 @SpringBootConfiguration 批注。 @SpringBootApplication 注释包括所有其他注释。

观察以下代码以更好地理解-

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

组件扫描

初始化时,Spring Boot应用程序会扫描所有Bean和包声明。您需要为类文件添加 @ComponentScan 批注,以扫描添加到项目中的组件。

观察以下代码以更好地理解-

import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}
点我分享笔记