美文网首页
BeanFactory的思想-抽象工厂设计模式

BeanFactory的思想-抽象工厂设计模式

作者: 我是java程序员 | 来源:发表于2019-03-13 16:28 被阅读0次

    BeanFactory的思想

     1.BeanFactory所用到的设计模式是抽象工厂设计模式。

      此模式是通过配置文件+反射来动态得到对象。那么这种模式有什么好处吗?首先,简单谈下当未使用开发框架时,我们写好的项目是要发布出去的,及发布到Tomcat上,以便客户访问,这时,我们所发布的项目不会包含有项目源码的,都是class文件和前端页面还有配置文件,如果我想换个数据库了,那么一般情况下,都不会选择重新编译源文件重新发布项目,而是要想办法解决这个问题,那么抽象工厂模式就能很好的解决这个问题。将需要涉及到的对象放到配置文件中,再通过反射动态得到相应的对象,那么只需要简单改下配置文件就可以了,而不需要去重新编译,大大方便了开发与部署。

     2.代码

      

    package com.wuhaitao.util;
    
    import java.util.ResourceBundle;
    
    /**
     * @Classname BeanFactory
     * @Description TODO
     * @Date 2019/3/13 16:05
     * @Created by wuhaitao
     */
    public class BeanFactory {
        public static <T> T newInstance(Class<T> clazz) {
            //通过字节码对象得到接口名
            String name = clazz.getSimpleName();
            //读取配置文件,通过接口名找到相应实现类对象名
            ResourceBundle resourceBundle = ResourceBundle.getBundle("bean");
            String className = resourceBundle.getString(name);
            //通过反射创建实现类对象
            try {
                return (T) Class.forName(className).newInstance();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    }
    

    相关文章

      网友评论

          本文标题:BeanFactory的思想-抽象工厂设计模式

          本文链接:https://www.haomeiwen.com/subject/ucgapqtx.html