java中的@Inject是如何工作的?

java中的@Inject是如何工作的?,java,tomcat,jakarta-ee,netbeans,Java,Tomcat,Jakarta Ee,Netbeans,我正在研究如何使用依赖注入,并找到了替代使用依赖注入的方法 public class AnyClass{ public void AnyMethod(){ Foo foo = new Foo(); //instantiated new class out.println(foo.bar()); //printed arbitrary anything! out is printwriter } } 让容器处理,这样我就可以编写代码了。所

我正在研究如何使用依赖注入,并找到了替代使用依赖注入的方法

public class AnyClass{ 

    public void AnyMethod(){

       Foo foo =  new Foo(); //instantiated new class
        out.println(foo.bar()); //printed arbitrary anything! out is printwriter 
    }

}
让容器处理,这样我就可以编写代码了。所以,我决定使用

public class AnyClass{

@Inject Foo foo;

public void anyMethod(){

    out.println(foo.getMyName()); //doesn't work here!!

} 
我一定是在正确使用@Inject时做错了什么。但是,在看了很多书和教程之后,我不知道在哪里。这就是我所做的

使用NetBeans在我的项目的WEB-INF中构建beans.xml文件,不起作用! 看了一本书,他们说把它放在META-INF上,也没用! 试图通过描述@Qualifiers来坚持它

@inferface MyQualify //or sth!!
这不起作用,因此,Foo是一个没有实现任何接口的类。所以,我认为这是错误的,它也不起作用

一些教程建议在这里用@ManagedBean注释Java类Foo,这也不起作用。
我正在使用Tomcat8和NetBeans

您需要将Foo声明为托管bean。你做到了吗?Tomcat8不是一个JavaEE兼容的服务器,它是一个servlet容器。您使用什么来提供CDI功能?只是在我的计算机上安装了默认的java ee包。@Rocking您添加了依赖项注入框架吗?像Spring、Guice还是Weld?