利用反射机制创建Bean工厂

@Component
public class MyBeanFactory<T> {

    public static  <T> T getBean(Class<T> checkType){
        try {
            Class<T> clz = (Class<T>)Class.forName(checkType.getName());
            Object obj = clz.newInstance();
            //需要检查checkType是不是obj的字节码对象
            if (!checkType.isInstance(obj)) {
                throw new Exception("对象跟字节码不兼容");
            }
            return (T)obj;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }

}

 

posted on 2019-11-15 14:25  JAVA-ROAD  阅读(385)  评论(0)    收藏  举报

导航