• 设计模式——Spirng_Bean工厂


    前言:对于简单工厂和抽象工厂都有自己的优点和缺点,

    比如简单工厂,如果你需要实现的类过多,你最后会出现工厂泛滥的情况,没有有效的控制代码的可重复性。http://www.cnblogs.com/xiaxj/p/6508799.html

    而对于抽象工厂而言,如果你想要在工厂系列中添加一个新的系列,也会是抽象工厂到具体的实现做很大的变动。 抽象工厂模式

    因此我们有志之士就开发出来了Spring 那么简单的sping中bean工厂就实现了以前的结合:

    首先定义MOveable接口

    1 public interface Moveable {
    2     void run();
    3 }

    然后写具体的car实现类

    1 public class Car implements Moveable{
    2     
    3     public void run(){
    4         System.out.println("老司机开车了.....快上车没时间解释了.....");
    5     }
    6 }
    1 public class navvy implements Moveable {
    2 
    3     @Override
    4     public void run() {
    5         System.out.println("快来挖掘机学校吧。。。。。");
    6     }
    7 }

    在srs目录下面建立自己的spring.properties 文件  写上自己具体的实现类

    1 VehicleType=com.hone.spring.factory.navvy

    Main函数中写上自己的具体实现

    import java.util.Properties;
    
    public class Test {
        public static void main(String[] args) throws Exception {
            
            Properties props=new Properties();
            props.load(Test.class.getClassLoader()
                    .getResourceAsStream("com/hone/spring/factory/spring.properties"));//找到对应的配置文件
            String vehicleTypeName=props.getProperty("VehicleType");    //获得反射文件的属性
            System.out.println(vehicleTypeName);
            Object o=Class.forName(vehicleTypeName).newInstance();    //利用反射获得相关的实例对象
            Moveable moveable=(Moveable) o;
            moveable.run();
        }
    }
  • 相关阅读:
    ubuntu(16.04.01)学习-day2
    python学习day5--set、函数
    ubuntu(16.04.01)学习-day1
    nosql
    redis学习-day1
    scrapy框架梳理
    io多路复用--本质
    异步非阻塞--高性能相关
    爬虫设计模式总结
    requests模块参数介绍
  • 原文地址:https://www.cnblogs.com/xiaxj/p/6509999.html
Copyright © 2020-2023  润新知