spring boot中常用的注解

85 阅读2分钟

Spring boot是现如今java主流的开发框架,它是基于Spring框架的子项目.Sping boot提供了丰富的注解来简化开发,以下是一些常用注解及用途:

核心注解

  • @SpringBootApplicantion:标记主类,是@Configuration@EnableAutoConfiguration,@ComponentScan的组合注解,用于启动Spring Boot应用.
  • @Configuration:标识类为配置类,替代传统的XML配置文件,可以定义Bean
  • @ConponentScan:指定扫描组件的路径,默认扫描当前类所在的包及其子包.
  • @enableAutoConfiguration:开启自动配置,Spring Boot会根据依赖自动配置Bean.

组件注册相关

  • @Component通用组件注解,标识类为Spring管理组件.
  • @controller:标识为MVC中的控制器(处理HTTP请求).
  • @service标识为业务层逻辑组件.
  • @Repository:标识为数据访问层(DAO)组件,自动处理数据库操作异常.

依赖注入相关

  • @Autowired:自动注入依赖对象,默认按类型匹配,可配合@Qualifier按名称注入.
  • @Qualifier:与@Autowired一起使用,指定注入Bean的名称.
  • @Resource:按名称注入依赖(JDK注解),类似@AUtowired+@Qualifier.
  • @Value注入配置文件中的属性值,如@Value("${app.name}")

配置相关

  • @ConfiguratongProerties:将配饰文件中的属性绑定到类的字段上,常用于批量注入配置.
  • @propertySource:指定加载的配置文件(如非默认的`application.properties).

Web相关

  • @RestController:@Controller+@Responsebody的组合,标识为Rest风格控制器,返回JSON数据.
  • @RequestMapper映射HTTP请求(URL,方法等),可用与类或者方法上.
  • @GetMapping/@PostMapping/@PutMapping/@DeleteMapping:分别对应 HTTP 的 GET、POST、PUT、DELETE 方法,是 @RequestMapping 的简化版.
  • @PathVariable:获取URL路径中的参数,如@GetMapper("/useer/{id})")中的id.
  • @RequestParam获取请求参数(如URL中的?name=xxx).
  • @RequestBody接收请求体中的JSON数据,绑定到方法参数.
  • @ResponseBody:将方法返回值直接作为响应体(通常为JSON),而非视图名.

事务相关

  • @Transactonal标识方法或者类需要的事务支持,Spring会自动管理事务的提交和回滚.

测试相关

  • @SpringBootTest用于SpringBoot测试类,加载完整的应用上下文.
  • @MockBean:在测试中替换指定的Bean为Mock对象.

这些注解覆盖了 Spring Boot 开发中的核心场景,合理使用能极大简化配置和开发流程。