为了账号安全,请及时绑定邮箱和手机立即绑定

请问这个错误有谁能帮我看看吗Exception in thread "main" java.lang.NullPointerException

/**
 * @author l
 *1.实例化bean
 *2.保存bean
 *3.提供bean
 *
 *4.每个bean有一个唯一id
 */
public class IoCContainer {

   private Map<String,Object> beans = new ConcurrentHashMap<String,Object>();
   
   public Object getBean(String beanId) {
      return beans.get(beanId);
   }
   
   /**
    * 委托IOC容器创建一个bean
    * 根据beanId获取一个bean
    * @author l
    *clazz:首先告诉IoC你要实例化的bean来源于哪个类/要创建的bean的class
    *beanId:告诉IoC bean的id是什么
    *paramBeanId:要创建的bean的class的构造方法所需要的参数的beanId们
    */
   public void setBean(Class<?> clazz,String beanId,String... paramBeanIds) {
      //组装构造方法所需的参数值
      Object[] paramValues = new Object[paramBeanIds.length];
      for(int i=0;i<paramBeanIds.length;i++) {
         paramValues[i]=beans.get(paramBeanIds[i]);
      }
      //调用构造方法实例化bean
      Object bean = null;
      for(Constructor<?>constructor:clazz.getConstructors()) {
         try {
            bean = constructor.newInstance(paramValues);
         }catch(InstantiationException e){
          }catch(IllegalAccessException e) {
          }catch(InvocationTargetException e) {
          }
      }
      if(bean==null) {
         throw new RuntimeException("找不到合适的构造方法实例化bean");
      }
      //将实例化的bean放入beans
      beans.put(beanId, bean);
   }
}

http://img1.sycdn.imooc.com//5db8018400015b5013450873.jpg

正在回答

2 回答

http://img1.sycdn.imooc.com//609f8f6b0001625803490241.jpg

在test中创建IoCTest.java

0 回复 有任何疑惑可以回复我~

兄弟你的main方法没有啊   看你那个命名应该是测试类  但是你测试类的注解也没有写

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问这个错误有谁能帮我看看吗Exception in thread "main" java.lang.NullPointerException

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信