zoukankan      html  css  js  c++  java
  • spring-IOC

    导火线 : 看的别人的博客,实现了一下

    参考 : http://www.cnblogs.com/LiaoYunChuan/p/8046030.html

    public class UserDao {
        public void saveUser(){
            System.out.println("保存用户");
        }
    }
    
    public class UserService {
        private UserDao userDao = new UserDao();
        
        public void saveUser(){
            this.userDao.saveUser();
        }
    }
    
    
    public class TestMain {
        public static void main(String[] args) {
            UserService userService = new UserService();
            userService.saveUser();
        }
    }
    
    三层代码,如果UserService需要多个dao时,每次都得重新new对象,自己写得麻烦不说,每次创建对象内存表示不开森了
    

      

    改进之后,将所有dao,service权限限定名放入properties中
    Userdao=com.ioc.UserDao
    UserService=com.ioc.UserService
    
    //创建一个工厂类加载properties文件
    public class BeanFactory {
        private static Properties props = new Properties();
        
        static{
            InputStream is = BeanFactory.class.getResourceAsStream("/bean.properties");
            try {
                props.load(is);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        //获得运行时类
        public static Object getBean(String name){
            String className = props.getProperty(name);
            try {
                return Class.forName(className);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    }
    
    然后service中需要dao则直接调用getBean方法了,从而实现了单对象
    

      

  • 相关阅读:
    Linux之文档与目录结构
    Linux介绍
    CentOS7下zip解压和unzip压缩文件
    yum 命令讲解
    Linux安装redis
    pip更新问题
    第一章-KS8初体验 安装部署
    MVC Razor视图引擎
    MVC 组件之间的关系
    Web应用程序和网站的区别
  • 原文地址:https://www.cnblogs.com/liyong888/p/8047029.html
Copyright © 2011-2022 走看看