Spring Boot项目的结构分析(工作原理入口类常见注解)

Posted 慕斯-ing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot项目的结构分析(工作原理入口类常见注解)相关的知识,希望对你有一定的参考价值。

Spring Boot项目的结构分析

1、Spring Boot 工作原理

SpringBoot应用程序采用各种Starters启动器,入口类是包含@SpringBootApplication注解和main方法的类,然后使用@ComponentScan注解自动扫描项目中的所有组件,并且SpringBoot会根据@EnableAutoConfiguration注解将项目中的依赖项自动配置到应用程序中,例如,如果mysql数据库在类路径上,但尚未配置任何数据库连接,则Spring Boot会自动配置内存数据库。

2、SpringBoot入口类

SpringBoot应用程序的入口点是包含@SpringBootApplication注解的类,该类中包含运行Spring Boot应用程序的main方法。默认一般是一个* application结尾。
@SpringBootApplication注解包括自动配置,组件扫描和SpringBoot配置. 如果将@SpringBootApplication注解添加到类中,则无需添加@EnableAutoConfiguration,@ComponentScan和@SpringBootConfiguration注解,因为@SpringBootApplication注解包括上述所有的注解。

3、常见注解

=》如何查看注解的实现代码在哪?
鼠标放在注解处右键—Go To—Declaration
=》如何定义一个注解?
类文件.class中定义public @interface SpringBootApplication…

(1)@SpringBootApplication

位置:SpringBootApplication.class中
简介:@SpringBootApplication注解是Spring Boot的核心注解,用于标注程序是一个springboot 程序,它是一个组合注解,由多个注解组合而成。

(2)@SpringBootConfiguration

位置:SpringBootApplication.class中
简介:@SpringBootConfiguration注解可以用Java代码的形式实现spring中xml配置文件配置的效果,也就是用来加载配置文件。

(3)@EnableAutoConfiguration

位置:SpringBootApplication.class中
简介:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项,这也是 springboot 的核心注解之一,我们只需要将项目需要的依赖包导入进来,它会自动帮我们配置这个依赖需要的基本配置,比如我们的项目引入了spring-boot-starter-web依赖,springboot 会自动帮我们配置 tomcat 和 springmvc。

(4)@ComponentScan

位置:SpringBootApplication.class中
简介:默认扫描@SpringBootApplication类所在包的同级目录以及它的子目录。用来扫描组件和自动装配。springboot 支持的自动配置可以查看到。在spring-boot-autoconfigure包中包含了支持的自动装配依赖,截图只是其中一部分,我们开发中常见的依赖都做了基本配置。

(5)@RestController

位置:控制层
简介:只返回字符串,不返回视图

(6)@RequestMapping

位置:控制层
简介:访问路径(类前,方法前)

以上是关于Spring Boot项目的结构分析(工作原理入口类常见注解)的主要内容,如果未能解决你的问题,请参考以下文章

推荐 2 个 Spring Boot 的工作流项目

Spring Boot常见企业开发场景应用自动配置原理结构分析

Spring Boot:Spring Boot启动原理分析

Spring Boot:Spring Boot启动原理分析

Spring Boot:Spring Boot启动原理分析

涨姿势:Spring Boot 2.x 启动全过程源码分析