SpringBoot- 项目常用注解的解释
Spring
@Component
用于创建当前类的对象,并由 Spring 容器中统一管理。@Controller
、@Service
、@Repository
的作用与@Component
一样,但是能更好地区分 Spring 框架的三层结构。
@Autowired
自动按照类型注入 Bean。只要容器中有唯一的一个 bean 对象类型和要注入的变量类型匹配,就可以注入成功。可以作用在变量或者方法上。
@Resource
直接按照 bean 的 id 注入 Bean,可以独立使用。
@Value
用于注入基本类型和 String 类型的数据。
@Scheduled
在 SpringBoot 中使用定时任务,只需要 @EnableScheduling 开启定时任务支持,在需要调度的方法上添加 @Scheduled 注解,支持通过 cron、fixedRate、fixedDelay 等灵活的控制执行周期和频率。
Spring MVC
@RequestMapping
注解为控制器指定可以处理哪些 URL 请求。
@RequestBody
用于读取 Request 请求的 body 部分数据,使用系统默认配置的 HttpMessageConverter 进行解析,然后把相应的数据绑定到要返回的对象上 , 再把 HttpMessageConverter 返回的对象数据绑定到 controller 中方法的参数上
@ResponseBody
该注解用于将 Controller 的方法返回的对象,通过适当的 HttpMessageConverter 转换为指定格式后,写入到 Response 对象的 body 数据区。
@RequestParam
在处理方法入参处使用,可以把请求参数传递给请求方法。
@PathVariable
绑定 URL 占位符到入参。
Spring Security
@PreAuthorize
进入方法前验证权限。
使用:
- 在启动类或配置内开启注解
1 |
- 在 controller 的方法上添加注解
SpringBoot
@SpringBootApplication
这个注解是 SpringBoot 最核心的注解,用在 SpringBoot 的主类上,标识这是一个 SpringBoot 应用,用来开启 SpringBoot 的各项能力。实际上这个注解是 @Configuration,@EnableAutoConfiguration,@ComponentScan 三个注解的组合。由于这些注解一般都是一起使用,所以 SpringBoot 提供了一个统一的注解 @SpringBootApplication。
LomBok
@Data
注解在类上,提供类所有属性的 getting 和 setting 方法,此外还提供了 equals、canEqual、hashCode、toString 方法和 @RequiredArgsConstructor 注解。
@Builder
注解在类上,被注解的类加上构造者模式(链式赋值)。