×
Spring Boot教程Spring Boot简介Spring Boot快速入门Spring Boot引导过程Spring Boot Tomcat部署Spring Boot构建系统Spring Boot代码结构Spring Boot Bean和依赖注入Spring Boot运行器(Runner)Spring Boot应用程序属性Spring Boot日志Spring Boot构建RESTful Web服务Spring Boot异常处理Spring Boot拦截器Spring Boot Servlet过滤器Spring Boot Tomcat端口号Spring Boot Rest模板Spring Boot文件处理Spring Boot服务组件Spring Boot Thymeleaf示例Spring Boot使用RESTful Web服务Spring Boot CORS支持Spring Boot国际化Spring Boot调度Spring Boot启用HTTPSSpring Boot Eureka服务器Spring Boost Eureka服务注册Spring Boot Zuul代理服务器和路由Spring Boot云配置服务器Spring Boot云配置客户端Spring Boot ActuatorSpring Boot管理服务器Spring Boot管理客户端Spring Boot启用Swagger2Spring Boot创建Docker镜像Spring Boot跟踪微服务日志Spring Boot Flyway数据库Spring Boot发送电子邮件Spring Boot HystrixSpring Boot Web SocketSpring Boot批量服务Spring Boot Apache KafkaSpring Boot单元测试用例Spring Boot Rest控制器单元测试Spring Boot数据库源(连接数据库)Spring Boot保护Web应用程序

Spring Boot简介


Spring Boot是一个基于Java的开源框架,用于创建微服务。它由Pivotal Team开发,用于构建独立的生产就绪Spring应用。 本章将介绍Spring Boot,并熟悉基本概念。

微服务是什么?

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

优点

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

  • 易于部署
  • 简单的可扩展性
  • 与容器兼容
  • 最低配置
  • 生产时间较短

Spring Boot是什么?

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

优点

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

  • 易于理解和开发Spring应用
  • 提高生产力
  • 缩短开发时间

目标

Spring Boot的设计目标如下 -

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

为什么选择Spring Boot?

选择Spring Boot,因为它提供的功能和优点如下 -

  • 它提供了一种灵活的方法来配置Java Bean,XML配置和数据库事务。
  • 它提供强大的批处理和管理REST端点。
  • 在Spring Boot中,一切都是自动配置的; 无需手动配置。
  • 它提供基于注释的spring应用程序。
  • 简化依赖管理。
  • 它包括嵌入式Servlet容器。

Spring Boot是如何工作的?

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

spring boot应用程序的入口点是包含@SpringBootApplication注释和main方法的类。
Spring Boot使用@ComponentScan注释自动扫描项目中包含的所有组件。

Spring Boot Starters

处理依赖管理对于大项目来说是一项艰巨的任务。 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端点。 其代码如下所示 -

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

Spring Boot Starter Thyme Leaf依赖项用于创建Web应用程序。 其代码如下所示 -

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

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

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

自动配置

Spring Boot Auto Configuration会根据在项目中添加的JAR依赖项自动配置Spring应用程序。例如,如果MySQL数据库在类路径上,但尚未配置任何数据库连接,则Spring Boot会自动配置内存数据库。

为此,需要将@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应用程序

Spring Boot Application的入口点是包含@SpringBootApplication注释的类。该类应具有运行Spring Boot应用程序的主要方法。 @SpringBootApplication注释包括自动配置,组件扫描和Spring Boot配置。

如果将@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);
   }
}

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)