zoukankan      html  css  js  c++  java
  • 手写一个简单的工厂模式(二)

    图中这里仍然是耦合的

    所以首先在BeanFactory类中新增方法getUserDAO()

        public static UserDAO getUserDAO(){
            UserDAO userDAO = null;
            try {
                Class clazz = Class.forName(env.getProperty("userDAO"));
                //Object obj = clazz.newInstance();
                userDAO = (userDAO)clazz.newInstance();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (InstantiationException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
            return userDAO;
        }
    

    然后修改 UserServiceImpl 类获取userDAO对象的方式,改为 private UserDAO userDAO = BeanFactory.getUserDAO();

    package com.baizhiedu.basic;
    
    public class UserServiceImpl implements UserService {
        //private UserDAO userDAO = new UserDAOImpl();
    
        private UserDAO userDAO = BeanFactory.getUserDAO();
    
        @Override
        public void register(User user) {
            userDAO.save(user);
        }
    
        @Override
        public void login(String name, String password) {
            userDAO.queryUserByNameAndPassword(name, password);
        }
    }
    

      

     修改applicationContext.properties文件,新增 userDao = com.baizhiedu.basic.UserDAOImpl

    userService = com.baizhiedu.basic.UserServiceImpl
    userDAO = com.baizhiedu.basic.UserDAOImpl

      

    [ 尐鱼儿的QQ群:726994578 ] --- [ https://github.com/godmaybelieve ]
  • 相关阅读:
    Heap(堆)和stack(栈)有的区别是什么。
    i++和++i的深入理解
    JDBC之java数据库的连接与简单的sql语句执行
    java前三本基础知识总结
    数据库的一些基础
    SQL 同时查看2个表
    JMeter 问题
    Linux 常用命令
    java io (一)
    验证密码必须是字母加数字的组合
  • 原文地址:https://www.cnblogs.com/yuyu666/p/13581608.html
Copyright © 2011-2022 走看看