解决方案 »

  1.   

    @Resource要注入在set方法上
    @Resource
    public void setServiceImpl(
    Service ServiceImpl) {
    this.ServiceImpl = ServiceImpl;
    }
    类似这样才能实现注入
      

  2.   

    使用字段名字匹配bean,是如何匹配的?究竟是怎样找到相应bean的?按类型匹配又是如何匹配的?
    当一个Bean创建实例后,会存储在Spring的容器里,每个实例在Spring里都有一个对应的BeanDefinition,里面有Bean的名字,ID,类型等等信息。
    装配的时候会取容器里查找有指定名字的Bean,或者指定类型的Bean。如果想简单一点,就是所有的Bean都放在一个List里,遍历一次看看有没有一个Bean的名字是要查找的,如果找不到,就看类型,如果找到了一个类型相同的Bean,则装配,如果找到多个类型相同的Bean,不知道要用哪一个,所以抛出异常,找不到就为空。
    大概可以这么理解。
      

  3.   

    @Resource 注解的最大的好处就是:   若写在字段上、就不用再进行get/set 了、、它是根据byName  进行注入的、
      

  4.   

    推荐你看这本书:spring in action