-1

我试图了解 javax.inject 将如何工作,但它似乎没有按预期工作。

package demo333;

import javax.inject.Inject;
import javax.inject.Named;

public class Demo2452 {

    @Inject private @Named("AA1") AA aa;

    public static void main(String[] args) {
        new Demo2452().m2();
    }

    private void m2() {
        System.out.println(aa.hello());
    }

}


interface AA{
    String hello();
}

@Named("AA1")
class AA1 implements AA{

    @Override
    public String hello() {
        return "helllllooooo";
    }

}

我得到 NullPointerException 如下堆栈跟踪:

在 demo333.Demo2452.m2(Demo2452.java:15) 在 demo333.Demo2452.main(Demo2452.java:11) 的线程“main”java.lang.NullPointerException 中的异常

谁能告诉我上面的代码出了什么问题?

4

1 回答 1

1

您需要添加@Component类。

@Component
Class Example{}
于 2019-10-13T18:12:40.410 回答