我可以访问命名的 java bean 吗?
Can I access a named java bean?
我正在尝试使用 @Named
组件创建 Java EE 应用程序。
import javax.inject.Named;
@Named
public class MyNamedBean {
public int myMethod() { ... }
}
但是由于某些原因,我需要从另一个 java bean 访问这个命名的 java bean 的方法。那我该怎么做呢?我应该使用 @Inject
注释吗?
我不知道应该添加什么标签。如果需要,请编辑问题。
是的,注释@Inject
可以用来将bean MyNamedBean
注入到另一个bean,然后从注入的bean 访问想要的方法。
示例:
Zoo.java
import javax.inject.Inject;
public class Zoo {
@Inject
private Dog dog;
public Zoo() {
}
public void talk() {
dog.talk();
}
}
Dog.java
import javax.inject.Named;
import javax.inject.Singleton;
@Named
@Singleton // optional
public class Dog {
public void talk() {
System.out.println("wowowo~ ฅ^•ﻌ•^ฅ");
}
}
我正在尝试使用 @Named
组件创建 Java EE 应用程序。
import javax.inject.Named;
@Named
public class MyNamedBean {
public int myMethod() { ... }
}
但是由于某些原因,我需要从另一个 java bean 访问这个命名的 java bean 的方法。那我该怎么做呢?我应该使用 @Inject
注释吗?
我不知道应该添加什么标签。如果需要,请编辑问题。
是的,注释@Inject
可以用来将bean MyNamedBean
注入到另一个bean,然后从注入的bean 访问想要的方法。
示例:
Zoo.java
import javax.inject.Inject;
public class Zoo {
@Inject
private Dog dog;
public Zoo() {
}
public void talk() {
dog.talk();
}
}
Dog.java
import javax.inject.Named;
import javax.inject.Singleton;
@Named
@Singleton // optional
public class Dog {
public void talk() {
System.out.println("wowowo~ ฅ^•ﻌ•^ฅ");
}
}