當(dāng)前位置:首頁(yè)文章首頁(yè) IT學(xué)院 IT技術(shù)

SimpleFactoryBean類實(shí)現(xiàn)FactoryBean接口的三個(gè)方法

作者:  來源:  發(fā)布時(shí)間:2011-12-10 10:07:15  點(diǎn)擊:
  1. public class SimpleFactoryBean implements FactoryBean {   
  2.         private boolean flag;   
  3.        
  4.         public Object getObject() throws Exception {   
  5.             if (flag) {   
  6.                 return new Date();   
  7.             }   
  8.             return new String("false");   
  9.         }   
  10.        
  11.         @SuppressWarnings("unchecked")   
  12.         public Class getObjectType() {   
  13.             return flag ? Date.class : String.class;   
  14.         }   
  15.        
  16.         public boolean isSingleton() {   
  17.             return false;   
  18.         }   
  19.        
  20.         public void setFlag(boolean flag) {   
  21.             this.flag = flag;   
  22.         }   
  23.     }   
  24.        
  25.     <bean id="factoryBeanOne" class="com.study.demo.factorybean.SimpleFactoryBean" >   
  26.         <property name="flag">   
  27.             <value>true</value>   
  28.         </property>   
  29.     </bean>   
  30.        
  31.     <bean id="factoryBeanTwo" class="com.study.demo.factorybean.SimpleFactoryBean" >   
  32.         <property name="flag">   
  33.             <value>false</value>   
  34.         </property>   
  35.     </bean>   
  36.        
  37.     public class MainTest {   
  38.         public static void main(String[] args) {   
  39.             Resource res = new ClassPathResource("bean.xml");   
  40.             BeanFactory factory = new XmlBeanFactory(res);   
  41.             System.out.println(factory.getBean("factoryBeanOne").getClass());   
  42.             System.out.println(factory.getBean("factoryBeanTwo").getClass());   
  43.         }   
  44.     }  

通過簡(jiǎn)單的測(cè)試可知,該類輸出如下:
class java.util.Date
class java.lang.String
也就是說,容器通過getBean方法返回的不是FactoryBean本身,而是FactoryBean實(shí)現(xiàn)類中g(shù)etObject()方法所返回的對(duì)象。

文章評(píng)論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z