当前位置: 首页 > 知识库问答 >
问题:

使用CDI和第三方类的DI:避免构造函数为每个代理构造执行多次调用的业务逻辑

卫劲
2023-03-14

我对EE/CDI for DI相对来说是个新手,所以也许你们中的一位可以为我的问题提供一些提示:

我有一个第三个党课,我想注入到其他豆子。在spring中,只需要一些 声明,它就完成了。使用cdi,它现在需要一个工厂类:

public class XProducer {    
    @Produces
    @ApplicationScoped
    public X createX(){
        return new X();
    }
}
    null

共有1个答案

蓬琦
2023-03-14

在这种情况下,您可能希望使用@javax.inject.singleton因为它是第三方,所以不需要拦截器支持,而且singleton不会生成代理,因此构造函数只会被调用一次。

 类似资料:
  • 经过一些实验,这似乎是使用CDI bean时的一个问题,而与我最初假设的PrimeFaces无关。 =============================================================================== 我对JSF和PrimeFaces还很陌生,因此任何指导都将非常感谢。我已经搜索了其他的帖子,并阅读了许多类似的,但没有找到解决方法。 我正试

  • 问题内容: 我有一个客户端库,在该客户端库中对我的REST服务进行http远程调用,然后返回给客户,该客户正在调用我的库,其中包含从REST服务获得的响应以及所有错误(如果包装了任何错误)围绕对象。 这是我的枚举类: 这是我的枚举类: 如您所见,在我的课堂上我有很多领域,因此我有一个很长的构造器,每次当我做一个对象的时候都会有很大的联系。将来我可能会有更多的字段,但目前只有这些字段。 有什么更好的

  • 所以我正在我的Java项目(Google Guice)中实现一个依赖注入框架,一切都很好,我喜欢它,但是有一个小问题;我想为我的主项目的类创建一个静态实例(实例化依赖项等)。但是我不知道使用Guice实例化它的任何方法,我不能手动实例化它,因为我在它的构造函数中使用DI(我在构造函数中有对象),这意味着我不能访问实例化该类所需的类的非静态变量。我试着使用一个提供者,但是我真的不明白在哪里绑定它,因

  • 我总是得到与此类似的结果。为什么第一个电话比其他电话要花10倍的时间?

  • 我是新的反应,我试图用它开发一个简单的网络应用程序,但我得到了一个错误。当我加载一个类组件时,我的构造函数被调用两次,你能帮忙吗? 原木地被击中两次。在一些组件中,我希望进行一个命中DB的API调用,但我只想命中它一次。在许多情况下,使用并不方便,因为道具只出现在之后,因此我想在中调用(我不会使用setState,这会导致重新加载render)。 提前感谢

  • 为什么下面没有编译: 如有需要,请提供更多详细信息: 我想将tmp传递给父构造函数