FACTORY模式在SPRING中的实现

转载 2007年09月11日 18:31:00

业务接口:

public   interface  Hello  {   
    
public   void  print();   
}
  

两个不同的BEAN实现:

public   class  TestBean  implements   Hello {         
        
public   void  print()  {   
        System.out.println(
" this is test " );   
    }
   
}
 

public   class  TestBean1  implements   Hello {       
    
public   void  print()  {   
        System.out.println(
" this is test1 " );   
    }
   
}
  


工厂类:

public   class  SimpleFactoryBean   {   
    
private  Hello testBean;  
    
private  Hello testBean1;   

    
public  Hello getTestBean()  {   
        
return  testBean;   
    }
   
  
    
public   void  setTestBean(Hello testBean)  {   
        
this .testBean  =  testBean;   
    }
   
  
    
public  Hello getTestBean1()  {   
        
return  testBean1;   
    }
   
  
    
public   void  setTestBean1(Hello testBean1)  {   
        
this .testBean1  =  testBean1;   
    }
   
  
    
public  Hello createBean( int  i) {   
         
if  (i == 1 return  testBean;   
         
if  (i == 2 return  testBean1;   
         
return   null ;   
     }
    
}
 

 
在SPRING中的配置文件:

< bean id = " factory "   class = " org.appfuse.dao.hibernate.SimpleFactoryBean " >   
    
< property name = " testBean "  ref = " testBean " />   
     
< property name = " testBean1 "  ref = " testBean1 " />     
</ bean >   
< bean id = " testBean "   class = " org.appfuse.dao.TestBean " />   
< bean id = " testBean1 "   class = " org.appfuse.dao.TestBean1 " />  

测试代码:

public   void  testBean()  throws  Exception  {   
      FactoryBean b
= (FactoryBean)ctx.getBean( " &simple " );   
     SimpleFactoryBean test;   
    Hello hello;   
    test
= (SimpleFactoryBean)ctx.getBean( " factory " );   
    hello
= test.createBean( 2 );   
    hello.print();        
}
  
以上代码可以实现根据参数的不同,返回不同的具体类,同时在你的代码里面可以完全不依赖于spring框架。这正是spring的优势所在。 

相关文章推荐

工厂模式(factory Pattern)实现示例demo

工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时...

C++实现Creational - Simple Factory模式

Simple Factory模式根据提供给它的数据,返回几个可能类中的一个类的实例,通常这个类都有一个公共的父类和一些公共的方法。需要说明的是Simple Factory模式并非GoF所定义的23...

C++抽象工厂模式(abstract factory patterns)实现

#ifndef SKIN_H #define SKIN_H#include //Button class Button { public: virtual void disp...

C++实现Creational - Abstract Factory模式

抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。   举例说明:Abstract Factory模式说的是抽象工厂,抽象工厂中继承出了两个实际工厂,这两个实际工厂开始生产对象,两...

(C++实现)——工厂方法模式(Factory Method Pattern)

工厂方法模式不同于简单工厂模式的地方在于工厂方法模式把对象的创建过程放到里子类里。这样工厂父对象和产品父对象一样,可以是抽象类或者接口,只定义相应的规范或操作,不涉及具体的创建或实现细节。  其...

DAO层与Service业务逻辑层的解耦实现之Factory工厂模式

为什么在MVC的三层开发架构中会非常推崇接口编程,那么根据已有的解释,接口编程的好处是:可以帮助层与层之间的解耦,让每个部分独立出来,互不影响,更加的利于团队开发合作和提高复用性与扩展性。那么,在数据...

C++实现Creational - Factory Method模式

设计模式的终极原理,本质上来说就是区分“变化的部分”和“稳定的部分”,并在此基础上,通过某种机制将此两者分离开来。此处所言之“变化”和“稳定”均为相对概念。在实现上,“稳定的部分”通常以抽象的形式出现...

(Factory Method)工厂方法模式的Java实现

工厂方法模式(Factory Method):定义一个用于创建对象的接口IFactory,在具体的ConcreteFactory子类中根据传进的参数即具体子类ConcreteProduct决定实例化哪...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FACTORY模式在SPRING中的实现
举报原因:
原因补充:

(最多只允许输入30个字)