面试题以及讲解

本文主要探讨Spring框架的组件扫描、自动装配机制以及与、的区别。深入解析IoC与DI的区别,Spring MVC的核心处理流程,并讲解在Mybatis中如何选择resultType和resultMap。
摘要由CSDN通过智能技术生成

面试题

Spring框架中,如何通过组件扫描来创建类的对象

在某个配置类上添加@ComponentScan注解,必要的话,配置这个注解的value / basePackages属性,可以指定组件扫描的根包。

将需要被Spring创建对象的类型,声明在这个根包之下,并且,在类上添加组件注解即可。

常用的基本组件注解有:@Component@Controller@Service@Repository

使用Spring框架时,如何选取@Bean方法和组件扫描,使得Spring创建对象

自定义的类应该使用组件扫描,其它类(不是自行创建的类型)必须使用@Bean方法。

请描述@Autowired的自动装配机制

首先,在Spring容器中查找匹配类型的Spring Bean的数量

  • 0个:取决于@Autowired注解的required属性
    • required = true:加载Spring时出现NoSuchBeanDefinitionException
    • required = false:放弃自动装配,则属性值为null
  • 1个:直接装配,且成功
  • 多个:将尝试根据名称来自动装配,要求被自动装配的属性名与Spring Bean的名称是匹配的,如果存在匹配的,则成功装配,否则,加载Spring时出现NoUniqueBeanDefinitionException
    • 关于名称匹配,可以是属性名改为某个Spring Bean名称,或在属性上添加@Qualifier注解来指定某个Spring Bean的名称

请描述<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值