BeanFactory是维护bean定义以及相互依赖关系的高级工厂接口。通过BeanFactory可以访问bean定义。下面创建了一个bean工厂,此工厂将从xml文件中读取bean定义:

InputStream is = new FileInputStream("beans.xml");BeanFactory factory = new XmlBeanFactory(is);
接着使用getBean(String)方法就可以取得bean的实例;BeanFactory提供的方法极其简单。它提供了六种方法供客户代码调用:
  • boolean containsBean(String):如果BeanFactory包含给定名称的bean定义(或bean实例),则返回true
  • Object getBean(String):返回以给定名字注册的bean实例。根据bean的配置情况,如果为singleton模式将返回一个共享的实例,否则将返回一个新建的实例。如果没有找到指定的bean,该方法可能会抛出BeansException异常(实际上将抛出NoSuchBeanDefinitionException异常),在对bean进行实例化和预处理时也可能抛出异常
  • Object getBean(String, Class):返回以给定名称注册的bean实例,并转换为给定class类型的实例,如果转换失败,相应的异常(BeanNotOfRequiredTypeException)将被抛出。上面的getBean(String)方法也适用该规则。
  • Class getType(String name):返回给定名称的bean的Class。如果没有找到指定的bean实例,则抛出NoSuchBeanDefinitionException异常。
  • boolean isSingleton(String):判断给定名称的bean定义(或bean实例)是否为singleton模式(singleton将在bean的作用域中讨论),如果bean没找到,则抛出NoSuchBeanDefinitionException异常。
  • String[] getAliases(String):返回给定bean名称的所有别名。

转载于:https://blog.51cto.com/mojiedao/20698

通过BeanFactory获取bean的几种方法相关推荐

  1. java 获取bean_spring如何获取bean的6种方法,你知道几个?

    spring获取bean的6种方法 Bean工厂(com.springframework.beans.factory.BeanFactory)是Spring框架最核心的接口,它提供了高级IoC的配置机 ...

  2. Spring读取配置文件,获取bean的几种方式

    Spring读取配置文件,获取bean的几种方式 方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemX ...

  3. SpringBoot静态获取 bean的三种方式,你学会了吗?

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/showchi/article/details/97005720 注意:调用者要被spring管理 ...

  4. Spring Boot 获取 Bean 的 3 种方式!还有谁不会?

    作者 | chilx 来源 | https://blog.csdn.net/showchi/article/details/97005720 注意:调用者要被spring管理 方式一 注解@PostC ...

  5. spring 获取 WebApplicationContext的几种方法

    spring 获取 WebApplicationContext的几种方法 使用ContextLoader WebApplicationContext webApplicationContext = C ...

  6. Spring 获取 request 的几种方法及其线程安全性分析

    转载自  Spring 获取 request 的几种方法及其线程安全性分析 本文将介绍在Spring MVC开发的Web系统中,获取request对象的几种方法,并讨论其线程安全性. 一.概述 在使用 ...

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

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

  8. java 中lock,java中lock获取锁的四种方法

    在java接口中会存放着许多方法,方便线程使用时的直接调用.对于lock接口大家都不陌生,我们已经初步对概念进行了理解.那么在获取锁的方法上想必还不是很清楚.下面我们就lock获取锁的四种方法分别进行 ...

  9. java 不知道类名_Java 中获取类名的三种方法,你知道几种?

    之前我们分享过Java高级篇--深入浅出Java类加载机制这篇文章,今天来带你了解获取类名的三种方法. 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里 ...

最新文章

  1. 生产指挥调度系统_市安全生产应急救援指挥中心将大型装载机械设备储备信息纳入应急指挥调度系统...
  2. liunu就该这么学第十二节课
  3. jumpserver-v2.9.2离线安装
  4. 第18次csp认证 201912-1 报数(C++)
  5. Python:如何获取一个用户名的组ID
  6. iOS 14.5来了!除了新功能,苹果还要让用户掌控自己的隐私数据
  7. Docker安装MySQL教程
  8. 阿里云移动端播放器高级功能---画面控制
  9. 大数据技术有什么优势
  10. USB转TTL、USB转232的区别
  11. VB6.0鼠标注册详细教程
  12. 下载hibernate4的jar包
  13. 文科三本学计算机专业好吗,三本学费一年大约需要多少
  14. linux堡垒机开源软件,几款开源的堡垒机
  15. pixel2真机调试aosp
  16. 和风天气:免费天气接口,包含天气预报及空气质量等实用信息,使用简单方便(划重点:免费)
  17. 百度地图标记打点展示
  18. 80x86 微处理器
  19. Quartz教程六--CronTrigger
  20. Opencv各基本函数的作用及示例1(对图像的基础处理)

热门文章

  1. 苹果为何加强云计算布局 汤换药也换?
  2. Java 项目UML反向工程转化工具
  3. 简明Python3教程 10.模块
  4. HCNE题库附件、可下载
  5. 5.15 pymysql 模块
  6. SDWebImage中文说明
  7. PostgreSQL中的大容量空间探索时间序列数据存储
  8. 南洋理工大学科学家研发组装机器人,可以帮助用户组装椅子
  9. WritePrivateProfileString、GetPrivateProfileString 读写配置文件
  10. 如何将github上源代码导入eclipse中