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 开发中的核心场景,合理使用能极大简化配置和开发流程。