文章目录
SpringBoot注解
一、注解(annotations)列表
@SpringBootApplication:
包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让Spring Boot扫描到Configuration类并把它加入到程序上下文。
@Configuration:等同于Spring的XML配置文件;使用Java代码可以检查类型安全。
@EnableAutoConfiguration:自动配置。
@ComponentScan:组件扫描,可自动发现和装配一些Bean。
@Component:可配合CommandLineRunner使用,在程序启动后执行一些基础任务。
@RestController:注解是@Controller和@ResponseBody的合集,表示这是个控制器bean。并且是将函数的返回值直接填入HTTP响应体中是REST风格的控制器。
@Autowired:自动导入。
@PathVariable:获取参数。
@JsonBackReference:解决嵌套外链问题。
@RepositoryRestResourcepublic:配合spring-boot-starter-data-rest使用。
二、注解(annotations)详解
@SpringBootApplication:申明让Spring Boot自动给程序进行必要的配置,这个配置等同于:@Configuration,@EnableAutoConfiguration和@ComponentScan三个配置。
package com.taofuli.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication //相当于 @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
@ResponseBody:表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用。
示例:
@RequestMapping("/test")
@ResponseBody
public String test() {
return "ok";
}
@Controller:用于定义控制器类,在Spring项目中有控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping。
示例:
@RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。
@EnableAutoConfiguration:
S