Spring中getBean()三种方式

Spring中getBean()三种方式

  1. getBean(String beanId):通过beanId获取对象
    • 不足:需要强制类型转换,不灵活
  2. getBean(Class clazz):通过Class方式获取对象
    • 不足:容器中有多个相同类型bean的时候,会报如下错误:
      expected single matching bean but found 2:
  3. getBean(String beanId,Class clazz):通过beanId和Class获取对象
    • 推荐使用

注意:框架默认都是通过无参构造器,帮助我们创建对象。

​ 所以:如提供对象的构造器时,一定添加无参构造器

SpringIOC底层实现

IOC:将对象的控制器反转给Spring

BeanFactory与ApplicationContexet

  • BeanFactory:IOC容器的基本实现,是Spring内部的使用接口,是面向Spring本身的,不是提供给开发人员使用的。
  • ApplicationContext:BeanFactory的子接口,提供了更多高级特性。面向Spring的使用者,几乎所有场合都使用ApplicationContext而不是底层的BeanFactory。
  • 图解IOC类的结构
    在这里插入图片描述
    BeanFactory:Spring底层IOC实现【面向Spring框架】
    • ApplicationContext:面向程序员
      • ConfigurableApplicationContext:提供关闭或刷新容器对象方法
          • ClassPathXmlApplicationContext:基于类路径检索xml文件
          • AnnotationConfigApplicationContext:基于注解创建容器对象
          • FileSystemXmlApplicationContext:基于文件系统检索xml文件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值