Spring Boot - 基础教程

首页 / Spring Boot入门教程 / Spring Boot - 基础教程

Spring框架是 Java 平台的一个开源的全栈(Full-stack)应用程序框架和控制反转容器实现,一般被直接称为 Spring。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于Java企业版平台构建的 Web 应用提供了大量的拓展支持。Spring 没有直接实现任何的编程模型,但它已经在 Java 社区中广为流行,基本上完全代替了企业级JavaBeans(EJB)模型。

Spring框架以 Apache License 2.0 开源许可协议的形式发布,该框架最初由 Rod Johnson 以及 Juergen Hoeller 等人开发。

本章将向您介绍Spring Boot,并使您熟悉其基本概念。

Spring Boot工作流程

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

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

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

Spring Boot启动器

对于大型项目,处理依赖关系管理是一项艰巨的任务, 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 thymeleaf依赖项用于创建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自动配置

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应用程序的main方法。@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组件扫描

初始化时,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);
   }
}

Spring Boot目录

这一章《Spring Boot - 简介》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持,感谢!😊

好记忆不如烂笔头。留下你的足迹吧 :)

猜你喜欢

趣谈网络协议 -〔刘超〕

手机摄影 -〔@随你们去〕

Spark性能调优实战 -〔吴磊〕

React Hooks 核心原理与实战 -〔王沛〕

已经存在的 SecurityFilterChain 阻止了我在 Spring Security 上的配置?

使用 AWS Lambda 和 SQS 的 Micronaut

添加新数据后如何刷新 RecyclerView?

通过添加第一个和第二个数组的元素来填充第三个数组

有没有办法在事件发生或经过特定时间之前安排任务?

MethodVisitor的(api, MethodVisitor)构造函数,是不是只需要读取

视频教程

Spring Boot - 34、源码篇-自动配置类条件检查 更多视频教程 »