首页 > 代码库 > Spring工厂模式
Spring工厂模式
普通工厂模式和抽象共产模式的优缺点:(1)普通工厂模式能够在单一产品维度上进行扩展,但是增加一个产品就要增加一个相应的工厂类,这样就会造成工厂的泛滥;(2)抽象工厂模式:很好的实现了一批产品的更新,但是,另一方面在单一产品维度上不好扩展。
而Spring的工厂模式原理是将Bean的信息放在配置文件当中。我们要模拟的话,可以用Java当中提供的一个特殊的类java.util.Properties,从而将类名信息在bean.properties文件中进行配置。将配置信息读取出来后,再利用反射技术进行实例化。
1 package program.spring.factory; 2 import program.factory.model.Moveable; 3 4 public class Car implements Moveable{ 5 @Override 6 public void run() { 7 System.out.println("Car running 。。。"); 8 } 9 } 10 11 12 import java.util.Properties; 13 import program.factory.model.Moveable; 14 public class Main { 15 public static void main(String[]args) throws Exception{ 16 Properties pro=new Properties(); 17 pro.load(Main.class.getClassLoader().getResourceAsStream("bean.properties")); 18 String vehicleType=(String)pro.get("VehicleType"); 19 Class clazz=Class.forName(vehicleType); 20 Moveable mov=(Moveable)clazz.newInstance(); 21 mov.run(); 22 } 23 } 24 25 26 properties文件: 27 VehicleType=program.spring.factory.Car
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。