Spring Boot注解

目录

  • 简介
  • 系统注解
  • Spring Boot常用注解
    • 使用在类名上的注解
    • 使用在方法上的注解
  • 其他常用注解

简介

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

系统注解

注解 说明
@Override 用于修饰方法,表示此方法重写了父类方法
@Deprecated 用于修饰方法,表示此方法已经过时。经常在版本升级后会遇到
@SuppressWarnings 告诉编译器忽视某类编译警告

其中@SuppressWarnings注解,有以下属性:

  • unckecked:未检查的转化。
  • unused:未使用的变量。
  • resource:泛型,即未指定类型。
  • path:在类中的路径。原文件路径中有不存在的路径。
  • deprecation:使用了某些不赞成使用的类和方法。
  • fallthrough:switch语句执行到底,不会遇到break关键字。
  • serial:实现了Serializable,但未定义serialVersionUID。
  • rawtypes:没有传递带有泛型的参数。
  • all:代表全部类型的警告。

Spring Boot常用注解

使用在类名上的注解

注解 使用位置 说明
@RestController 类名上 作用相当于@ResponseBody加@Controller
@Controller 类名上 声明此类是一个SpringMvc Controller对象
@Service 类名上 声明一个业务处理类(实现非接口)
@Repository 类名上 声明数据库访问类
@Component 类名上 代表其实Spring管理类,常用在无法用@Service、@Repository描述的Spring管理的类上,相当于通用的注解
Configuration 类名上 声明此类是一个配置类,常与@Bean配合使用
@Resource 类名上、属性或构造函数参数上 默认按byName自动注入
@Autowired 类名上、属性或构造函数参数上 默认按byName自动注入
@RequestMapping 类名或方法上 如果用在类上,则表示所有响应请求的方法都是以该地址作为父路径的
@Transactional 类名或方法上 用于处理事务
@Qualifier 类名或属性上 为Bean指定名称,随后再通过名字引用Bean

使用在方法上的注解

注解 使用位置 说明
@RequestBody 方法参数前 常用来处理application/json、application/xml等Content-Type类型的数据,意味着HTTP消息是JSON?XML格式,需将其转化为指定类型的参数
@PathVariable 方法参数前 将URL获取的参数映射到方法参数上
@Bean 方法上 声明该方法的返回结果是一个有Spring容器管理的Bean
@ResponseBody 方法上 通过适当的HTTPMessageConverter将控制器中方法返回的对象转换为指定格式(JSON/XML)后,写入Response对象的body数据区

其他常用注解

注解 使用位置 作用说明
@EnableAutoConfiguration 入口类/类名上 用来提供自动配置
@SpringBootApplication 入口类/类名上 用来启动入口类Application
@EnableScheduling 入口类/类名上 用来开启计划任务。Spring通过@Scheduled支持多种类型的计划任务,包含cron、fixDelay、fixRate等
@EnableAsync 入口类/类名上 用来开启异步注解功能
@ComponentScan 入口类/类名上 用来扫描组件,可自动发现和装配一些Bean。
@Aspec 入口类/类名上 标注切面,可以用来配置实物、日志、权限验证,在用户请求时做一些处理等
@ControllerAdvice 类名上 包含@Component,可以被扫描到,统一处理异常
@ExceptionHandler 方法上 用在方法上,表示遇到这个异常就执行该方法
@Value 属性上 用于获取配置文件中的值

你可能感兴趣的:(SpringBoot学习,spring,boot)