SpringBoot常用注解
1、@SpringBootApplication:
这个注解是SpringBoot的核心注解,用在SpringBoot的主类上,标识这是一个SpringBoot的应用,用来开始SPringBoot的各项能力。实际上这个注解是 @Confinguration,@EnableAutoConfiguration,@ComponentScan三个注解的组合 。由于这些注解都是一起使用,所以SpringBoot提供了一个统一的注解,@SpringBootApplication
下面是SpringBoot注解的部分源码
2 @EnableAutoConfiguration :
允许SpringBoor自动配置注解,开启这个注解之后,SpringBoot就能根据当前类路径下的包或者类来配置SpringBean。
@EnableAutoConfiguration 源码
发现它内部调用了@Import注解加载了AutoConfigurationImportSelector.class,也就是自动配置选择器。AutoConfigurationImportSelector源码
这里isEnable()方法判断了是否开启自动配置,如果开启成功,则getProperty(),加载SpringBoot的默认配置文件。
3.@Configuration :
用于定义配置类,指出该类是Bean配置的信息源,相当于传统的xml文件。
4.@ComponentScan :
组件扫描,让SpringBoot扫描到Configuration类并把他加入到程序上下文。@ComponentScan注解默认就会装配标识了@Controller,@Service,@Repository,@Component注解的类到spring容器中。
5.@Repository :
给bean在容器中命名
例如:
6.@Service:
一般用于修饰service层的组件
7.@RestController:
用于标注控制层组件,表示这是控制bean,并且是将函数的返回值直接填入HTTP响应体中,是REST风格的控制器,它是@Controller和@ResponseBody的合集。
@RestController源码
8、@ResponseBody :
表示该方法的返回结果直接写入HTTP response dody中。一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。9.@Component :
泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。使用@Component注解标志的类,会被SpringBoot统一管理。
10.@Bean
相当于XML中的,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理。
11.@AutoWired :
它可以对类成员变量,方法及构造函数进行标注,完成自动装配的工作,@Autowired的使用来消除 set ,get方法。 但是在使用@Autowired注解之前,我们需要对一个bean使用@Component注解。
例:
12.@RequestMapping :
用来处理请求地址映射的二胡直接,负责url到Controller中的具体函数的映射,可以用于类或方法上。用于类上表示类中所有响应请求的方法都是以该地址作为父路径。
13.@RequestParam :
用在方法的参数前面,例如:
在请求的时候为localhost:8080/hello2?name=zhangsan
14. @Date:
@Date注解是Lombok提供的,可以为类提供get()和set方法,还有equals(),hashCode(),toString()等方法。所以使用@Date注解后,bean类的编写就非常简单。也可以使用@ToString注解,生成toString方法