Spring Boot中的常用注解非常丰富,这些注解大大简化了Spring应用的配置和开发过程。以下是一些常用的Spring Boot注解及其简要说明:
1. @SpringBootApplication
- 作用:这是Spring Boot的核心注解,包含了@Configuration、@EnableAutoConfiguration、@ComponentScan三个注解。它用于标识Spring Boot应用程序的入口类。
- 使用场景:通常用在主类上,用于启动Spring Boot应用程序。
2. @Configuration
- 作用:表明该类是一个配置类,相当于传统的XML配置文件,用于定义Bean。
- 使用场景:在配置类中通过@Bean注解来声明Bean。
3. @EnableAutoConfiguration
- 作用:启用Spring Boot的自动配置机制,Spring Boot会根据添加的jar依赖自动配置应用。
- 使用场景:与@SpringBootApplication一起使用,通常不需要单独使用。
4. @ComponentScan
- 作用:指定Spring Boot扫描哪些包下的注解,用于将这些包下的类注册为Bean。
- 使用场景:与@Configuration一起使用,指定需要扫描的包。
5. @Component、@Service、@Controller、@Repository
- 作用:这四个注解的作用基本相同,都是将类注册为Spring容器中的Bean,但它们的使用场景有所区别。
- @Component:泛指组件,当不好归类时使用。
- @Service:用于标注服务层组件。
- @Controller:用于标注控制器组件。
- @Repository:用于标注数据访问组件,即DAO组件。
6. @RestController
- 作用:是@Controller和@ResponseBody的结合体,用于标注控制器类,使其返回值直接作为HTTP响应体返回。
- 使用场景:用于构建RESTful风格的Web服务。
7. @RequestMapping、@GetMapping、@PostMapping等
- 作用:用于映射HTTP请求到特定的处理方法上。
- @RequestMapping:可以映射GET、POST等多种HTTP请求。
- @GetMapping:专门用于映射GET请求。
- @PostMapping:专门用于映射POST请求。
- 还有@PutMapping、@DeleteMapping等,分别用于映射PUT、DELETE等HTTP请求。
8. @Autowired、@Resource、@Qualifier
- 作用:用于自动装配Bean。
- @Autowired:根据类型自动装配Bean。
- @Resource:可以根据类型或名称进行装配,默认按名称装配。
- @Qualifier:与@Autowired一起使用,用于指定要装配的Bean的名称。
9. @Value、@ConfigurationProperties
- 作用:用于注入配置文件中的值。
- @Value:用于注入单个配置项的值。
- @ConfigurationProperties:用于批量注入配置文件的属性到一个Bean中。
10. @Bean
- 作用:在配置类中,使用@Bean注解标注的方法会返回一个对象,这个对象会被注册为Spring容器中的Bean。
11. @RequestParam、@PathVariable、@RequestBody、@RequestHeader、@CookieValue
- 作用:这些注解通常用于控制器方法中,用于处理HTTP请求的不同部分。
- @RequestParam:用于处理请求参数。
- @PathVariable:用于处理URL路径中的变量。
- @RequestBody:用于处理请求体中的数据。
- @RequestHeader:用于处理请求头中的数据。
- @CookieValue:用于处理Cookie中的数据。
12. @Entity
- 作用:用于标注JPA实体类,表示这个类对应数据库中的一个表。