getBean一共有以下四种方法原型:

(1)getBean(String name) :通过id或name去查找获取bean.
参数name表示IOC容器中已经实例化的bean的id或者name,且无论是id还是name都要求在IOC容器中是唯一的不能重名。

(2)getBean(Class type):通过类型去获取bean,要求类型必须唯一
参数Class type表示要加载的Bean的类型。如果该类型没有继承任何父类(Object类除外)和实现接口的话,那么要求该类型的bean在IOC容器中也必须是唯一的。比如applicationContext.xml配置两个类型完全一致的bean,且都没有配置id和name属性

我们可以总结getBean(String name)和getBean(Class type)的异同点
相同点:都要求id或者name或者类型在容器中的唯一性。
不同点:getBean(String name)获得的对象需要类型转换而getBean(Class type)获得的对象无需类型转换。

(3)getBean(String name,Class type)
这种方式比较适合当类型不唯一时,再通过id或者name来获取bean。

(4)getBean(String name,Object[] args)
这种方式本质还是通过bean的id或者name来获取bean,通过第二个参数Object[] args可以给bean的属性赋值,赋值的方式有两种:构造方法和工厂方法。但是通过这种方式获取的bean必须把scope属性设置为prototype,也就是非单例模式

Spring中ApplicationContext的getBean()方法相关推荐

  1. spring 中 ApplicationContext 的 refresh 方法做了什么

    refresh 方法可以说是Spring中核心的一个方法了,通过这个方法可以获取bean的定义.创建添加bean到spring容器中一个其它扩展功能.记录下相关内容. 有个问题:refresh方法为什 ...

  2. Spring中ApplicationContext加载机制和配置初始化

    转自:http://liuwei1578.blog.163.com/blog/static/495803642007116111923195/ Spring中ApplicationContext加载机 ...

  3. Spring中ApplicationContext加载机制

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp33 加载器目前有两种选择:ContextLoaderListener和Co ...

  4. Spring中ApplicationContext的事件机制

    ApplicationContext事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext事件 ...

  5. Spring中策略模式实现方法

    一.定义 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改.这种类型的设计模式属于行为型模式.在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而 ...

  6. Spring中ApplicationContext和beanfactory区别

    BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP ...

  7. Spring中获取request的方法及其线程安全性分析

    在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等.由于 ...

  8. java spring scope_如何在Spring中自定义scope的方法示例

    大家对于 Spring 的 scope 应该都不会默认.所谓 scope,字面理解就是"作用域"."范围",如果一个 bean 的 scope 配置为 sing ...

  9. Java和Spring中线程池创建方法

    一.线程池定义 1.JDK中线程池类图 Executor:父接口,所有线程池都实现了这个接口,里面有一个excute()方法用于执行线程 ExecutorService:线程池接口,继承自Execut ...

最新文章

  1. 对 makefile 中 .SECONDARY 的学习体会
  2. Pandas SQL 语法归纳总结,真的太全了
  3. iOS编程陷井2,模拟器不可靠
  4. 黑盒测试实践(小组作业)每日例会记录——11.27
  5. 在WINDOW 系统下如何用批处理命令生成代码
  6. 【面试招聘】聊聊秋招中的面试技巧
  7. NSLog (Log信息的输出)
  8. java fx 插件,JAVA FX 應用程序基礎
  9. python 定时任务系统_Python定时任务,实现自动化的方法
  10. 保驾护航金三银四,妈妈再也不用担心我找工作了!
  11. 找出数组中两个只出现了一次的数
  12. java的断点条件,java – 非行依赖的条件断点
  13. linux tcl expect 安装(转)
  14. LINUX grep忽略排除某些目录、文件
  15. 移动硬盘数据错误循环冗余检查,要怎么恢复资料
  16. 区分——带你领略分布式的专业评测集散地
  17. java后台证件号15转18位
  18. 生活小妙方记录:治疗缠腰蛇
  19. 汽车车身钣金—车身连接方式
  20. 【数据结构之二叉树】——二叉树的概念及结构,特殊的二叉树和二叉树性质

热门文章

  1. 393day(云道页面实例练习)
  2. html界面js自动适应页面,JS实现DIV高度自适应窗口示例
  3. 国考银监会计算机专业知识,国考银监会笔试知多少?
  4. BigInsights金刚钻之BigSheets: 零编程!处理海量数据
  5. 1096:在霍格沃茨找零钱
  6. 利用消息队列实现多人聊天
  7. 神经网络_训练loss不下降原因集合
  8. java入门-markdown语法学习
  9. 1.0.1-Reaper配置导入导出
  10. monit mysql_monit介绍和配置