本文主要总结 Spring Boot 的常见注解
SpringBoot 介绍
一个组件或者一个框架的出现肯定是为了解决某种问题,就像 Spring 对比 EJB 更加轻量级。Spring 虽然组件轻量级,但是却需要大量的配置。Spring Boot 将解决这个问题。
从官网上可以看出 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(自动装备机制)