@Singleton vs @Producer vs @Singleton @Producer

@Singleton vs @Producer vs @Singleton @Producer

提问人:Evgeny Mordyasov 提问时间:10/24/2023 更新时间:10/24/2023 访问量:37

问:

我不明白 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