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的优势所在。 

设计模式——抽象工厂模式(Abstract Factory)

要想正确的理解设计模式,首先必须明确它是为了解决什么问题而提出来的。 抽象设计模式概念:         针对抽象工厂这个设计模式,我查找了不少资料,感觉只有涉及产品级别和产品族的才是理解了抽象工厂设...
  • u012909091
  • u012909091
  • 2014年08月02日 16:52
  • 3607

设计模式总结之Factory Method Pattern(工厂方法模式)

定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。...
  • cooldragon
  • cooldragon
  • 2016年08月11日 00:44
  • 1291

Spring学习总结——Spring实现IoC的多种方式

目录 一、使用XML配置的方式实现IOC二、使用Spring注解配置IOC三、自动装配四、零配置实现IOC五、示例下载 控制反转IoC(Inversion of Control),是一种设计思想,...
  • u010987379
  • u010987379
  • 2016年08月08日 16:10
  • 2130

Factory Method vs Abstract Factory

Factory Method vs Abstract Factory
  • u010373266
  • u010373266
  • 2016年12月20日 16:26
  • 318

一,Spring容器BeanFactory和ApplicationContext对比

BeanFactory和ApplicationContext对比BeanFactory和ApplicationContext联系BeanFactory和ApplicationContext是Sprin...
  • u010871004
  • u010871004
  • 2016年12月12日 22:06
  • 877

java中factory创建对象的好处

这里先不具体分析工厂模式的详细内容而是讨论为什么要在应用开发的过程中设计工厂这样一个部分; 工厂模式的详细内容十分广泛种类众多请参考更多设计模式的书籍; 在面向对象编程中, 最通常的方法是一个new操...
  • GuardOfSea
  • GuardOfSea
  • 2016年02月22日 10:50
  • 1258

boost::factory实现对象工厂设计模式

转载自:http://blog.csdn.net/mpforwd/article/details/5791699 #ifndef MP_OBJECT_FACTORY_H #define MP_...
  • yahohi
  • yahohi
  • 2017年08月31日 16:55
  • 461

设计模式:Abstract Factory和Builder(比较区别,个人认为讲得很明白)

如果说 Factory和Prototype是同一个层次的话,那么Abstract Factory和Builder就是更高一级的层次。 1 Abstact Factory   在上面的Factory类型...
  • lovingprince
  • lovingprince
  • 2007年04月17日 10:59
  • 4231

【spring框架】spring的几个Annotation实现(上)

spring除了XML的配置,还可以用Annotation注解来实现spring的配置功能,下面来介绍里面一些配置方法 1.Annotation第一步 a)修改xml文件,参考文档 基于注解(Ann...
  • u013517797
  • u013517797
  • 2015年02月20日 18:40
  • 1432

设计模式学习笔记--工厂(Factory)、建造(Builder)和原型(Prototype)

创建模式(Creational Pattern)一共有七种,分布是:简单工厂模式、工厂方法模式、抽象工厂模式、建造模式、原型模式、单例模式、多例模式。本篇介绍了其中的5种:简单工厂、工厂方法、抽象工厂...
  • puma_dong
  • puma_dong
  • 2014年03月31日 11:34
  • 1777
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FACTORY模式在SPRING中的实现
举报原因:
原因补充:

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