您的位置:首页 > 其它

通过BeanFactory获取bean的几种方法

2007-03-17 17:09 411 查看
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名称的所有别名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: