工厂模式模拟

//propertis
serveImp=serve.IAccountServeImp
daoImp=dao.AccountDaoImp
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.dao;

import com.info.User;
import java.util.ArrayList;

public interface UserDao {
    ArrayList<User> selectAll();

    Integer insert(User var1);
}

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.dao;

import com.info.Account;
import java.util.List;

public interface AccountDao {
    List<Account> selectAccount();
}

package util;

import org.omg.CORBA.portable.InputStream;
import org.springframework.beans.factory.BeanFactory;

import javax.xml.soap.SOAPPart;
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

public class MyBeanFactory {
    private static Properties properties;
    private static Map<String,Object>map;
    static {
         try {
             properties=new Properties();
            java.io.InputStream in=  BeanFactory.class.getClassLoader().getResourceAsStream("bean.properties");
            properties.load(in);
             Enumeration e=properties.keys();
             map=new HashMap<>();
             Object o;
             while (e.hasMoreElements()){
                 String k=(String)e.nextElement();
                 String classPath=properties.getProperty (k);
                 System.out.println(classPath);
                 o=Class.forName(classPath).newInstance();
                 map.put(k,o);
             }
        } catch (IOException | ClassNotFoundException e) {
            throw new ExceptionInInitializerError("properties准备错误");
        } catch (IllegalAccessException e) {
             e.printStackTrace();
         } catch (InstantiationException e) {
             e.printStackTrace();
         }
    }
    public static Object getBean(String s){
        return map.get(s);
    }
}

package dao;

public class AccountDaoImp implements IAccountDao{
    @Override
    public void say() {
        System.out.println("俺是工厂模式得模拟");
    }
}

package com;

import dao.AccountDaoImp;
import util.MyBeanFactory;

public class test {
    public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
        AccountDaoImp a=(AccountDaoImp) MyBeanFactory.getBean("daoImp");
       System.out.println(a);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值