Spring Boot 是基于 Spring Framework 构建的应用程序框架,它简化了使用 Spring 进行开发的过程。Spring Boot 提供了许多注解来帮助开发者快速搭建应用程序。下面是一些 Spring Boot 中常用的注解及其简要说明:
1. **@SpringBootApplication**
- 这是 Spring Boot 最核心的注解,它用在 Spring Boot 的主类上,标识这是一个 Spring Boot 应用。
- 它实际上是 `@Configuration`, `@EnableAutoConfiguration`, 和 `@ComponentScan` 三个注解的组合。
2. **@EnableAutoConfiguration**
- 允许 Spring Boot 自动配置注解,开启这个注解之后,Spring Boot 就能根据当前类路径下的包或者类来配置 Spring Beans。
- 例如,如果你的项目中有 JPA 相关的依赖,Spring Boot 会自动配置数据源和实体管理器。
3. **@Configuration**
- 用于定义配置类,指出该类是 Bean 配置的信息源,相当于传统的 XML 配置文件。
- 通常加在主类上,也可以用在其他的配置类上。
4. **@ComponentScan**
- 组件扫描。让 Spring Boot 扫描到 Configuration 类并把它加入到程序上下文中。
- 默认情况下,它会装配标识了 `@Controller`, `@Service`, `@Repository`, `@Component` 注解的类到 Spring 容器中。
5. **@Repository**
- 用于标注数据访问组件,即 DAO 组件。
- 使用 `@Repository` 注解可以确保 DAO 或者 repositories 提供异常转译。
- 这个注解修饰的 DAO 或者 repositories 类会被 `@ComponentScan` 发现并配置,同时也不需要为它们提供 XML 配置项。
6. **@Service**
- 标注业务逻辑层组件。
- 与 `@Component` 功能类似,但在语义上更加清晰。
7. **@RestController**
- 标注 RESTful 控制器。
- 它是 `@Controller` 和 `@ResponseBody` 的组合,表明该控制器返回的数据直接作为 HTTP 响应体发送给客户端。
8. **@Controller**
- 标注控制器类。
- 控制器类通常负责接收 HTTP 请求并将请求映射到相应的处理方法。
9. **@Autowired**
- 用于自动装配 Bean,无需显式使用构造器、setter 方法或其他方法来进行注入。
- 可以应用于字段或方法上。
10. **@ResponseBody**
- 表明一个方法的结果应该直接写入 HTTP 响应体中。
- 常用于 RESTful 接口开发。
11. **@PathVariable**
- 用于从 URL 路径中获取动态部分的值,并将其传递给方法参数。
12. **@RequestParam**
- 用于从 HTTP 请求的查询字符串中获取参数值。