Spring Boot 原理及注解说明

66 阅读1分钟

本文主要总结 Spring Boot 的常见注解

SpringBoot 介绍

一个组件或者一个框架的出现肯定是为了解决某种问题,就像 Spring 对比 EJB 更加轻量级。Spring 虽然组件轻量级,但是却需要大量的配置。Spring Boot 将解决这个问题。

image.png

从官网上可以看出 SpringBoot 的一些特性

  • 创建一个独立的 Spring 应用
  • 嵌入网络容器 Tomcat, Jetty
  • 提供 starter 依赖简化配置
  • 自动装配 spring 的配置及其他的配置
  • 提供生产就绪的功能,例如指标、运行状况检查和外部化配置
  • 完全不需要生成代码,也不需要 XML 配置

下面我们介绍下完成自动装配和简化配置是如何实现的

实现原理及注解说明

Spring Boot Starters

在使用 Spring 框架开发时,使用各种组件比如 SpringMVC、Jackson 等需要单独引入相关依赖,但在使用 SpringBoot 框架时,只需要引入 个spring-boot-starter-web一个依赖就可以了。 spring-boot-starter-web 包含我们开发 rest 服务所需要的所有依赖

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

@SpringBootApplication 可以看作是 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 注解的集合

  • @Configuration: 允许注册其他的 bean 或者导入其他的配置类。当使用 Spring 框架进行开发时,如果写一个配置类,需要在 xml 中进行配置,而 SpringBoot 框架直接使用注解就可以直接被 Spring 容器管理
  • @ComponentScan: @Service 和 @Controller 等注解都包含 @Component 注解。使用 @ComponentScan 主机就会扫描 @Component、@Service 和 @Controller 等注解的类到 Spring r容器中
  • @EnableAutoConfiguration:只要添加该注解,就会自动加载并装配 bean(自动装备机制)