Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 不带弹簧的@Bean的等价物_Spring_Jakarta Ee_Javabeans - Fatal编程技术网

Spring 不带弹簧的@Bean的等价物

Spring 不带弹簧的@Bean的等价物,spring,jakarta-ee,javabeans,Spring,Jakarta Ee,Javabeans,没有弹簧怎么做同样的东西? 我不知道如何使用特定的构造函数声明bean 通常我会用Spring这样做,但现在我不能用Spring @Configuration public class ClientConfig { @Bean public MyApi myApi() { return Feign.builder().target(MyApi.class, myUrl); } } 在另一个类中使用注入 public class AnotherClass

没有弹簧怎么做同样的东西? 我不知道如何使用特定的构造函数声明bean

通常我会用Spring这样做,但现在我不能用Spring

@Configuration
public class ClientConfig {
    @Bean
    public MyApi myApi() {
        return Feign.builder().target(MyApi.class, myUrl);
    }
}
在另一个类中使用注入

public class AnotherClass {
    @Inject
    MyApi myApi;
}
如何“声明”bean?
今天我使用的是一个“丑陋”的单例,所以提前感谢您的建议。

您可以使用producer方法来创建所需的可注射bean。将生产者方法放在分离的bean中是一个很好的实践:

@Dependent
public class Resources {

    @Produces
    @Default  
    public MyApi myApi() {
        return Feign.builder().target(MyApi.class, myUrl);
    }
}
您可以在任何需要的地方使用
@injectmyapi-MyApi


有关更多信息,请参阅CDI文档

您是否尝试过@InjectAnnotation(JavaEECDI依赖项注入)-->这个链接可能对您有所帮助