【面试题】介绍一下@Autowired的Bean匹配机制

@Autowired的Bean匹配机制是指在执行依赖注入之前,Spring容器会根据被注入字段、方法参数的类型来查找匹配的 Bean。

该机制的执行顺序为:

1、先根据类型匹配

  • 若没有匹配类型,则注入失败
  • 有匹配类型,对应的实例有1个,则注入

2、如果匹配类型的实例有多个,则查看优先级注解:

  • 查看是否有@Qualifier注解,有则按其指定规则匹配
  • 查看是否有@Primary注解,有则按其指定规则匹配

3、如果类型匹配的实例有多个,且无法选出唯一的,则转为根据Bean的名称匹配

  • 如果名称匹配成功就注入,反之注入失败
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 什么是 Spring 注解? Spring 注解是一种用于声明 Spring 管理的对象和组件的注解。它们可以替代传统的 XML 配置文件,使代码更简洁,更易于维护。 2. Spring 中常用的注解有哪些? 常用的 Spring 注解包括: - @Autowired:自动装配依赖对象。 - @Component:声明一个组件。 - @Controller:声明一个 MVC 控制器。 - @Service:声明一个服务。 - @Repository:声明一个数据访问对象。 - @RequestMapping:映射请求到控制器方法。 - @ResponseBody:将方法返回值转换为 HTTP 响应。 - @PathVariable:获取 URL 路径参数。 - @RequestParam:获取请求参数。 - @Transactional:声明事务。 3. @Autowired 和 @Resource 的区别是什么? @Autowired 是 Spring 提供的注解,用于自动装配依赖对象。它按照类型进行匹配,如果存在多个匹配项,则按照名称进行匹配。 @Resource 是 Java EE 提供的注解,也可以用于自动装配依赖对象。它按照名称进行匹配,如果存在多个匹配项,则按照类型进行匹配。 4. 什么是 Spring Boot? Spring Boot 是 Spring 官方提供的一个快速开发框架,它简化了 Spring 应用的搭建和配置,提供了自动配置、快速启动、依赖管理等功能,使开发者能够更快、更方便地开发出高质量的应用程序。 5. Spring Boot 中常用的注解有哪些? Spring Boot 中常用的注解包括: - @SpringBootApplication:声明一个 Spring Boot 应用程序。 - @RestController:声明一个 RESTful Web 服务。 - @RequestMapping:映射请求到控制器方法。 - @GetMapping、@PostMapping、@PutMapping、@DeleteMapping:分别映射 GET、POST、PUT、DELETE 请求到控制器方法。 - @RequestBody:将 HTTP 请求体转换为方法参数。 - @PathVariable:获取 URL 路径参数。 - @RequestParam:获取请求参数。 - @Autowired:自动装配依赖对象。 - @Value:获取配置属性。 6. 什么是 Spring Cloud? Spring Cloud 是基于 Spring Boot 的一套分布式系统开发工具,它提供了一系列的分布式系统开发工具,包括服务注册与发现、配置中心、负载均衡、断路器、网关等,使得开发者能够更快、更方便地开发出高可用、高可靠、高扩展性的分布式系统。 7. Spring Cloud 中常用的注解有哪些? Spring Cloud 中常用的注解包括: - @EnableDiscoveryClient:启用服务注册与发现。 - @EnableFeignClients:启用 Feign 客户端。 - @EnableCircuitBreaker:启用断路器。 - @HystrixCommand:声明一个断路器命令。 - @LoadBalanced:启用负载均衡。 - @RefreshScope:声明一个动态刷新的 Bean。 - @ConfigurationProperties:获取配置属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值