通过BeanFactory获取bean的几种方法
2007-03-17 17:09
411 查看
BeanFactory是维护bean定义以及相互依赖关系的高级工厂接口。通过BeanFactory可以访问bean定义。下面创建了一个bean工厂,此工厂将从xml文件中读取bean定义:
接着使用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名称的所有别名。
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名称的所有别名。
相关文章推荐
- 转:通过API获取和创建 Oracle GL Account Code Combination ID’s (CCID’s)的几种方法汇总
- 通过url获取图片尺寸的几种方法:JS和php
- Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法(本文由169it.com搜集整理)
- Spring中通过实现FactoryBean接口获取bean实例
- Spring学习(7)--Spring中通过工厂方法和FactoryBean配置bean
- 【springMVC基础】spring获取bean的几种方法
- 通过url获取图片尺寸的几种方法:JS和php
- 通过@ConfigurationProperties使用外部配置填充Bean属性的几种方法
- spring通过工厂方法和FactoryBean来配置Bean
- spring中通过静态工厂方法获取bean实例化对象
- Web容器初始化时获取bean的几种方法
- Spring框架学习(9):通过FactoryBean的方法配置bean
- spring不通过注入的方式获取对象(BeanFactoryAware \ApplicationContextAware )
- spring获取bean的几种方法
- Spring 通过工厂方法(Factory Method)来配置bean
- 通过PID获取进程路径的几种方法
- Android中通过资源文件获取drawable的几种方法
- 通过Bean工厂创建bean实例的几种方法
- Python通过url获取图片的几种方法
- Spring 通过工厂方法(Factory Method)来配置bean