提问人:Evgeny Mordyasov 提问时间:10/24/2023 更新时间:10/24/2023 访问量:37
@Singleton vs @Producer vs @Singleton @Producer
@Singleton vs @Producer vs @Singleton @Producer
问:
我不明白 abc 方法的以下组合有何不同:@Singleton 与 @Producer 与 @Singleton @Producer。我们正在谈论夸库斯。
// 1
public class Configuration {
@Produces
public MyBean abc() {
return new MyBean();
}
}
// 2
public class Configuration {
@Singleton
public MyBean abc() {
return new MyBean();
}
}
// 3
public class Configuration {
@Singleton
@Produces
public MyBean abc() {
return new MyBean();
}
}
请解释。你可以用春天做类比。
答:
4赞
Ladicek
10/24/2023
#1
第一个备选方案声明一个具有作用域的 Bean;就好像该方法被注释了.@Dependent
@Produces @Dependent
根据严格的 CDI 规则,第二种选择无效,但 Quarkus 允许将其作为快捷方式。它等同于第 3 种选择,见 https://quarkus.io/guides/cdi-reference#simplified-producer-method-declaration
评论