zoukankan      html  css  js  c++  java
  • javaWeb项目解耦之工厂模式使用

    javaWeb项目使用经典三层架构

    config.properties 文件配置如图所示

    factory代码

    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.Reader;
    import java.util.Properties;
    
    public class BaseFactory {
        private static BaseFactory factory = new BaseFactory();
        private static Properties prop = null;
        private BaseFactory() {
        }
        public static BaseFactory getFactory(){
            return factory;
        }
        
        static{
            try {
                prop = new Properties();
                prop.load(new FileReader(BaseFactory.class.getClassLoader().getResource("config.properties").getPath()));
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            }
        }
        public <T> T getInstance(Class<T> clazz){
            try {
                String cName = clazz.getSimpleName();
                String cImplName = prop.getProperty(cName);
                return (T)Class.forName(cImplName).newInstance();
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            }
            
        }
        
    }


    service调用dao层 示例代码

     UserDao userDao = BaseFactory.getFactory().getInstance(UserDao.class);

  • 相关阅读:
    java基础面试题-1
    深入探讨 Java 类加载器
    毕向东—Java基础知识总结(超级经典)
    nyoj-161-取石子 (四)
    nyist-751-破坏城市
    nyist-144-小珂的苦恼
    zoj-1047-I Think I Need a Houseboat
    zoj-1045-HangOver
    zoj-1037-Gridland
    hdoj-2268-How To Use The Car
  • 原文地址:https://www.cnblogs.com/majiabin/p/4731505.html
Copyright © 2011-2022 走看看