SpringBoot常用注解速查,一键收藏了!

407 阅读3分钟

注解用来定义一个类、属性或方法,方便程序能够被编译处理。它也相当于一个说明文件。告诉程序被某个注解标注的类或属性是什么,要怎么处理。注解可以用在标注包、类、方法和变量。

1. 类上常使用的注解

注解使用位置说明
@RestController类名上@RestController=@Controller + @RequestBody 前后端分离情况下,用于返回JSON、XML等格式数据
@Controller类名上声明当前类是一个控制器层,相当于MVC开发模式中的 C(控制器)
@Service类名上声明当前类是一个业务处理类,用于标注服务层,处理业务逻辑类
@Reporitory类名上用于标注数据访问层
@Component类名上通用的注解,可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层,可以使用@Component 注解标注。
@Configuration类名上一般用来声明配置类,可以使用 @Component注解替代,不过使用Configuration注解声明配置类更加语义化
@Resource类名上、属性上或构造函数参数上和@Autowired都可以用来装配Bean,默认是byType自动注入
@Autowired类名上、属性上或构造函数参数上自动导入对象到类中,被注入进的类同样要被 Spring 容器管理,默认是byName自动注入
@RequestMapping类名或者方法上用来处理请求地址映射
@Transactional类名或者方法上在要开启事务的方法上使用@Transactional注解即可
@Qualifier类名或属性上常与@Autowired一起使用,用于标注哪一个实现类才是需要注入的
@JsonIgnoreProperties类名上用于过滤掉特定字段不返回或者不解析
@Transient属性上声明不需要与数据库映射的字段,在保存的时候不需要保存进数据库,虚拟字段

2. 方法上常使用的注解

注解使用位置说明
@Bean方法上声明一个Bean并交给Spring管理。
@ReponseBody方法上将方法返回的对象转换为JSON或XML格式后,写入Response对象的body数据区
@RequestBody方法参数前简而言之,就是将JSON 字符串转换为 Java对象
@PathVariable方法参数前将URL获取的参数映射到方法上
···

3. 其他常使用的注解

注解使用位置说明
@EnableAutoConfiguration入口类、类名上开启自动配置
@SpringBootApplication入口类、类名上启动入口类Application(@SpringBootApplication看作是 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解的集合。)
@EnableScheduling入口类、类名上用来开启计划任务,如定时执行的任务
@EnableAsync入口类、类名上开启异步注解功能
@ComponentScan入口类、类名上用来扫描组件,看自动发现和装配一些Bean
@Aspec入口类、类名上标注切面,可以用来配置事务、日志、权限验证等
@ControllerAdvice类名上包含@Component,可以被扫描到,统一处理异常
@ExceptionHandler方法上表示遇到这个异常就执行该方法
@Value属性上用于获取配置文件中的值
···

4. 总结

​ 当然SpringBoot提供给我们开发人员的注解非常之多,上文中只是总结了SpringBoot开发过程中常用的一些注解,以及简述了其注解的作用或用途。