一 什么是springboot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。(源自百度百科)

二 springboot特性

1. 独立运行的 Spring 项目

Spring Boot 可以以 jar 包的形式独立运行。

2. 内嵌 Servlet 容器

Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),应用无需打成 WAR 包 。

3. 提供 starter 简化 Maven 配置

Spring Boot 提供了一系列的“starter”项目对象模型(POMS)来简化 Maven 配置。

4. 提供了大量的自动配置

Spring Boot 提供了大量的默认自动配置,来简化项目的开发,开发人员也通过配置文件修改默认配置。

5. 自带应用监控

Spring Boot 可以对正在运行的项目提供监控。

6. 无代码生成和 xml 配置

Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置。

三 springboot常用注解

更多注解移步这里

1. @SpringBootApplication

替代 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan

2. @ImportAutoConfiguration

导入配置类,一般做测试的时候使用,正常优先使用@EnableAutoConfiguration

3. @SpringBootConfiguration

替代@Configuration

4. @Scope

指定bean的作用域,默认singleton,其它包括prototype、request、session、globalSession

5. @Lazy

使bean懒加载,取消bean预初始化

6. @Profile

指定Bean在哪个环境下被激活

7. @DependsOn

依赖的bean注册完成,才注册当前类,依赖bean不存在会报错。用于控制bean加载顺序

8. @Autowired

默认按类型装配,如果我们想使用按名称装配,可以结合@Qualifier注解一起使用。

9. @Lookup

根据方法返回的类型,去容器中捞出对应的bean

10. @Description

添加bean的文字描述

11. @AutoConfigureBefore

在指定配置类初始化前加载

12. @AutoConfigureAfter

在指定配置类初始化后加载

13. @AutoConfigureOrder

指定配置类初始化顺序,越小初始化越早

14. @EnableScheduling

开启定时任务功能

15. @Scheduled

按指定执行周期执行方法

17. @EnableAsync

开启方法异步执行的能力,通过@Async或者自定义注解找到需要异步执行的方法。

18. @Async

标记方法为异步线程中执行