1、@SpringBootApplication

@SpringBootApplication是Spring Boot项目的核心注解,它包含了以下三个其他注解的功能:

@EnableAutoConfiguration:自动配置,该注解可以自动配置 spring 的上下文,该注解告诉 Spring Boot 根据添加的 jar 包来配置项目。

@ComponentScan:组件扫描,该注解让 Spring Boot 扫描到 Configuration 类并把它加入到程序上下文。

@Configuration:配置指示,这个注解告诉 Spring Boot 该类包含了一个或多个 @Bean 注解,这些注解会告诉 Spring 如何创建一个对象。

2、@RestController

@RestController 注解用于创建 RESTful Web 服务,该注解会将当前类标识为一个控制器,并且会返回 JSON 格式的数据。

@RestController 注解等价于@Controller 和@ResponseBody 注解的组合,使用 @RestController 注解的类会自动序列化为 JSON 格式,并返回给客户端。

3、@RequestMapping

@RequestMapping 注解用于接收客户端请求,该注解可以定义请求的 URL,请求的方法,以及可以接收的参数。

@RequestMapping 注解可以放在类上,也可以放在方法上,如果放在类上,则表示该类中的所有方法都是以该注解中定义的 URL 为前缀。

@RequestMapping 注解的 value 属性用于定义请求的 URL,method 属性用于定义请求的方法,params 属性用于定义请求的参数。

4、@Autowired

@Autowired 注解用于自动装配,该注解可以将一个类的实例注入到另一个类中,这样可以实现解耦,使用 @Autowired 注解可以实现依赖注入。

@Autowired 注解可以用在字段上,也可以用在 setter 方法上,或者是构造函数上,如果多个 Bean 都能满足依赖,那么可以使用 @Qualifier 注解来指定具体的 Bean。