Springboot 中自动配置相关的注解

在Spring Boot中,除了@Configuration和与自动配置相关的注解(如@EnableAutoConfiguration,虽然用户不直接使用@AutoConfiguration)外,还有许多其他类型的注解用于不同的目的和功能。以下是一些常见的Spring Boot注解及其用途:

  1. 启动和配置类注解
    • @SpringBootApplication:一个方便的注解,它包含了@Configuration@EnableAutoConfiguration@ComponentScan注解。它通常用在Spring Boot的主类上,以标识这是一个Spring Boot应用程序。
  2. 组件注解
    • @Component:泛指组件,当组件不好归类时,可以使用这个注解进行标注。
    • @Service:用于标注服务层组件。
    • @Repository:用于标注数据访问组件,即DAO组件。
    • @Controller:用于标注控制层组件,处理由DispatcherServlet分发的请求。
    • @RestController:是@Controller@ResponseBody的合集,用于标注控制层组件,并且会将函数的返回值直接填入HTTP响应体中,是REST风格的控制器。
  3. 请求处理注解
    • @RequestMapping:用于将HTTP请求映射到相应的控制器方法上。
    • @GetMapping@PostMapping@PutMapping@DeleteMapping@PatchMapping:这些注解分别对应HTTP请求的GET、POST、PUT、DELETE、PATCH方法,用于简化@RequestMapping注解的使用。
    • @RequestParam:用于获取HTTP请求参数的值。
    • @PathVariable:用于获取URL路径变量的值。
    • @RequestBody:用于获取HTTP请求体的值,并将其转换为Java对象。
    • @ResponseBody:用于将控制器方法返回的对象序列化为HTTP响应体的值。
  4. 自动装配和依赖注入注解
    • @Autowired:自动装配Spring容器中的Bean,它可以用于类字段、setter方法或构造方法上。
    • @Qualifier:与@Autowired配合使用,用于指定要装配的Bean的名称。
    • @Resource:功能与@Autowired类似,但默认按名称装配Bean,可以通过nametype属性来指定。
  5. 条件注解
    • @Conditional:一个元注解,用于根据条件选择性地创建Bean。它通常与其他条件注解(如@ConditionalOnClass@ConditionalOnBean@ConditionalOnProperty等)一起使用。
  6. 其他功能注解
    • @Value:用于将外部配置(如application.properties或application.yml文件)中的值注入到Bean的属性中。
    • @ConfigurationProperties:用于将配置文件中的属性绑定到Java对象上,提供了一种类型安全的方式来配置应用程序。
    • @EnableCaching@Cacheable@CachePut@CacheEvict:用于启用和配置Spring的缓存抽象。
    • @EnableScheduling@Scheduled:用于启用和定义定时任务。
    • @Async:用于将方法标记为异步执行。
    • @Transactional:用于声明事务管理的方法。
  7. 测试相关注解
    • @SpringBootTest:用于加载Spring应用程序的上下文,并提供测试支持。
    • @MockBean:模拟Bean,用于替代真实的Bean进行测试。

这些注解覆盖了Spring Boot应用程序开发中的许多方面,包括启动和配置、组件定义、请求处理、依赖注入、条件装配、缓存、定时任务、异步执行、事务管理以及测试等。通过合理使用这些注解,可以极大地提高开发效率和应用程序的可维护性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值