为什么没有现场注射工作?

时间:2014-03-23 15:01:14

标签: java dependency-injection

我有一个Logger类

public class Logger {

   public void log(){
      System.out.println("Logger vagyok!");
   }
}

和一个注入Logger的Cow类。

import javax.inject.Inject;

public class Cow {

   @Inject
   private Logger logger;

   public void speak(){
      logger.log();
   }    
}

但我的Main类抛出NullPointerException。

public class Main {

    public static void main(String[] args) {
       System.out.println("START");
       Cow cow = new Cow();
       cow.speak(); //THROW NULLPOINTER EXCEPTION HERE!
       System.out.println("END");
    }
}

为什么我的野外注射不起作用?

1 个答案:

答案 0 :(得分:2)

现场注入本身不起作用。您需要实现它的框架。例如,Spring是一个领先的注入框架,它遵循自己的或“标准”注入注释。