Spring Boot 是一个基于 Spring 框架的开源项目,它简化了 Spring 应用程序的创建和部署过程。以下是一些在 Spring Boot 中常用的注解:
@SpringBootApplication:这是一个组合注解,包含了 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 三个注解。它用于标识一个类作为 Spring Boot 应用程序的入口类。
@Configuration:表示一个类作为配置类,可以使用 Java 代码替代 XML 配置文件。
@EnableAutoConfiguration:告诉 Spring Boot 根据项目中的依赖自动配置 Spring 环境。
@ComponentScan:指定 Spring 扫描哪些包路径下的组件,默认扫描当前包及其子包。
@RestController:表示一个类作为 RESTful Web 服务的控制器,结合 @RequestMapping 注解来处理 HTTP 请求。
@Service:表示一个类作为服务层的组件,通常用于实现业务逻辑。
@Repository:表示一个类作为数据访问层的组件,通常用于实现数据库操作。
@Component:表示一个类普通的 Spring 组件,可以被 Spring 容器管理。
@Autowired:用于自动装配 Bean,可以用在变量、方法和构造函数上。
@Qualifier:用于指定需要注入的 Bean 的名称,通常与 @Autowired 一起使用。
@ConfigurationProperties:用于将配置文件中的属性值绑定到一个 Java 对象上。
@Value:用于将配置文件中的属性值注入到变量中。
@RequestMapping:用于映射 HTTP 请求到特定的处理方法。
@GetMapping:用于映射 HTTP GET 请求到特定的处理方法。
@PostMapping:用于映射 HTTP POST 请求到特定的处理方法。
@PutMapping:用于映射 HTTP PUT 请求到特定的处理方法。
@DeleteMapping:用于映射 HTTP DELETE 请求到特定的处理方法。
@PathVariable:用于从 URL 中提取参数并传递给方法参数。
@RequestParam:用于从 HTTP 请求中提取查询参数并传递给方法参数。
@RequestBody:用于将 HTTP 请求体中的 JSON 字符串转换为 Java 对象。
@ResponseBody:用于将方法返回值转换为 JSON 字符串并写入 HTTP 响应体。
@ControllerAdvice:表示一个全局的异常处理类,可以处理所有控制器抛出的异常。
@ExceptionHandler:用于处理特定类型的异常。
@Bean:用于在配置类中声明一个 Bean,可以被 Spring 容器管理。
@ConditionalOnProperty:用于根据配置文件中的属性值决定是否创建 Bean。
@ConditionalOnClass:用于根据类路径中是否存在某个类来决定是否创建 Bean。
@ConditionalOnMissingBean:用于在容器中不存在某个 Bean 时创建该 Bean。
@ConditionalOnExpression:用于根据 SpEL 表达式的结果决定是否创建 Bean。
@EnableScheduling:启用 Spring 定时任务功能。
@Scheduled:用于标识一个方法作为定时任务。
以上只是 Spring Boot 中常用的一部分注解,实际上还有很多其他注解可以使用。在实际开发中,根据需求选择合适的注解来简化代码和提高开发效率。