最近我发现某处有@Inject
注释。它可以注入类。
如何从提供者端使用它?
假设我想写
class MyClass1 {
@Inject
MyType2 variable;
}
如何让它发挥作用?什么是绝对必要的?
如果MyType2
是抽象类的接口,该怎么办?
答案 0 :(得分:1)
@ JS注释在JSR 330中指定:Java的依赖注入(链接:JSR330)
它用于各种Application Server上的Web-Applications Web-Container。
依赖注入为变量提供了一个Proxy类,直到真正使用它为止。然后Container将注入相关的类,您可以使用它。 因此,您需要一个容器,因为它的任务是将类注入注入点。
如果您想在Java SE环境中使用依赖注入,可以查看Google Guice(链接:Google Guice)
“如果MyType2是抽象类的接口怎么办?”
它根本无法实例化一个抽象类,所以我猜它会失败。