美文网首页
工厂类解耦

工厂类解耦

作者: 茶酒qqq | 来源:发表于2020-01-20 20:46 被阅读0次

手动实现工厂类:

  • 读取properties文件,并利用Map保存Bean实现单例模式。
  • 使用时利用getBean方法创建对象
public class BeanFactory {
    private static Properties properties;
    private static Map<String , Object> beans;
    static {
        try {
            //实例化对象
            properties = new Properties();
            //获取properties文件流对象
            InputStream in = BeanFactory.class.getClassLoader().getResourceAsStream("bean.properties");
            properties.load(in);

            beans=new HashMap<String, Object>();
            Enumeration keys=properties.keys();
            while(keys.hasMoreElements()){
                //取出每个key
                String key=keys.nextElement().toString();
                //根据key获取value
                String keyPath=properties.getProperty(key);
                System.out.println(keyPath);
                //根据keyPath创建反射对象
                Object value=Class.forName(keyPath).newInstance();
                //放入map
                beans.put(key,value);
            }
        }catch (Exception e){
            throw new ExceptionInInitializerError("初始化properties失败!");
        }
    }

    public static Object getBean(String beanName){
        return beans.get(beanName);
    }

}

bean.properties

accountService=com.chajiu.service.AccountServicelmpl
accountDao=com.chajiu.dao.AccountDAOlmpl

创建对象:

IAccountService service = (IAccountService) BeanFactory.getBean("accountService");

相关文章

  • 工厂类解耦

    手动实现工厂类: 读取properties文件,并利用Map保存Bean实现单例模式。 使用时利用getBean方...

  • 设计模式

    创建型 工厂作用:解耦代码代码的解耦 一个对象我要实现单例 简单的是在这个类 中把构造方法 设置为private ...

  • 设计模式

    创建型模式 简单工厂模式:用一个工厂类来创造产品,解耦用户与产品。 工厂方法模式:一个抽象工厂类,一个抽象产品类 ...

  • 2018-10-07 Python19 简单工厂模式、工厂方法模

    通过增加一个类(工厂类),使得两个类(两部分代码)解耦,就叫做简单工厂设计模式。基类中定义接口,子类中重写实现,叫...

  • 设计模式之工厂(Factory)

    工厂模式简介 工厂模式用于对象的创建,使得客户从具体的产品中解耦。 简单工厂 我喜欢吃面条,抽象一个面条基类,(接...

  • 十二月十九日

    今天的重点是多态,用工厂创建对象,和具体的图形类型实现解耦和工厂创建一个抽象类,由具体的图形类来实现这个抽象类;实...

  • Spring学习之认识程序的耦合与解耦

    编写jdbc的工程代码 编译期依赖 程序的耦合和解耦的思想 曾经代码中的问题分析 编写工厂类和配置文件 工厂模式解...

  • 用于可扩展、可重用和优雅的代码的Python工厂

    用于可扩展、可重用和优雅的代码的Python工厂 通过将行为(在工厂超类中定义)与对象创建(在子类中)解耦,创建灵...

  • 类加载器

    今天学习工厂模式解耦操作时,误用了properties类的类加载器去获取配置配置文件,报了空指针异常,查class...

  • 常用设计模式

    工厂设计模式 工厂设计模式,主要用于进行实例化对象时的解耦操作,避免使用new关键字实例化对象,通过反射,根据类名...

网友评论

      本文标题:工厂类解耦

      本文链接:https://www.haomeiwen.com/subject/dacszctx.html