Posted on 2008-07-06 22:04
天空蒼茫 閱讀(3463)
評論(4) 編輯 收藏 所屬分類:
java知識 、
spring研究
1、首先看一下BeanFactory
有一個常量:FACTORY_BEAN_PREFIX=&
這里是對FactoryBean的轉義定義,因為如果使用bean的名字檢索FactoryBean得到的對象是工廠生成的對象
如果需要得到工廠本身,需要轉義。
//返回以給定名字注冊的bean實例。根據bean的配置情況,如果為singleton模式將返回一個共享的實例,否則 將返回一個新建的實例。如果沒有找到指定的bean,該方法可能會拋出BeansException異常(實際上將拋出NoSuchBeanDefinitionException異常),在對bean進行實例化和預處理時也可能拋出異常
Object getBean(String name) throws BeansException;
//返回以給定名稱注冊的bean實例,并轉換為給定class類型的實例,如果轉換失敗,相應的異常(BeanNotOfRequiredTypeException)將被拋出。上面的getBean(String)方法也適用該規則
Object getBean(String name, Class requiredType) throws BeansException
//如果BeanFactory包含給定名稱的bean定義(或bean實例),則返回true
boolean containsBean(String name);
//判斷給定名稱的bean定義(或bean實例)是否為singleton模式(singleton將在bean的作用域中討論),如果bean沒找到,則拋出NoSuchBeanDefinitionException異常。
boolean isSingleton(String name) throws NoSuchBeanDefinitionException;
boolean isPrototype(String name) throws NoSuchBeanDefinitionException
#檢測給定的名稱獲取的類,是不是與給定的class類型相匹配,如果匹配,返回ture,否則返回flase,如果給定名稱轉化成類失敗,相應的異常(NoSuchBeanDefinitionException)將被拋出
boolean isTypeMatch(String name, Class targetType) throws NoSuchBeanDefinitionException
取得bean對應的class實例
Class getType(String name) throws NoSuchBeanDefinitionException;
獲取指定所有bean的別名
String[] getAliases(String name);