zoukankan      html  css  js  c++  java
  • 工厂模式 jdbc 面向接口dao 开发 单例

    package com.itheima.utils;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    import com.itheima.dao.UserDao;
    
    /**
     * 引入工厂,用于生成一些对象,为了生成的BeanFactory对象时,
     * 不会生成多个对象(因为BeanFactory作为一个工厂,只要有一个它的对象就可以 了),可以引入单例模式
     * 
     * 2.业务层要调用 Dao的什么 样的实现类,可以放入到配置文件
     * 3.读取配置文件
     * @author wangli
     *
     */
    public class BeanFactory {
    
        private BeanFactory(){}//私有构造
        
        private static BeanFactory instance = new BeanFactory();
        
        //再提供一个公有的方法
        public static BeanFactory getInstance(){
            return instance;
        }
        
        private static String DAO;//用于存储从bean.properties文件 中读取的值
        static{
            try {
                InputStream is = BeanFactory.class.getClassLoader().getResourceAsStream("bean.properties");
                Properties p = new Properties();
                p.load(is);
                DAO = p.getProperty("dao");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        public UserDao getUserDaoInstance(){
            try {
                Class clz = Class.forName(DAO);
                return (UserDao)clz.newInstance();//通过反射生成对象  UserDaoMySqlImpl的对象   UserDaoDom4jImpl的对象
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            }
        }
        
        
    }

  • 相关阅读:
    inux按照CPU、内存、磁盘IO、网络性能监测
    监控数据库
    NMON监控工具
    AJAX
    性能经验之谈【转】
    内存/硬盘/io关系
    testng中添加案例失败重试次数
    如何使用beanshell写入数据到文件(txt、csv)
    Docker 容器中配置nginx后报403 Forbidden 解决办法
    Centos7创建支持ssh服务器的docker容器
  • 原文地址:https://www.cnblogs.com/baijin05/p/5072517.html
Copyright © 2011-2022 走看看