java - 有没有办法可以在 micronaut 中注入(inject)一个其构造函数具有参数的类?

标签 java micronaut

假设我有 A 级。

class A {
    private String s;

    public A(String s) {
        this.s = s;
    }
}

我想将 A 注入(inject)到 B 类中。

到目前为止,我一直在注入(inject)没有构造函数参数的类,例如

class B {

    @Inject
    private A a;
}

但我不知道如何注入(inject)带有构造函数参数的类。 我怎样才能做到这一点?

最佳答案

我认为在你的例子中A将是一个原型(prototype)bean,因为它有一个你必须提供的参数。因为您必须提供参数,所以您不能像单例一样简单地注入(inject) bean。您可以注入(inject)BeanContext并调用createBean。例如:beanContext.createBean(A.class, "some string value")。这需要使用 @Prototype 注释 A 以及创建者应使用 @Parameter 提供的任何构造函数参数。

关于java - 有没有办法可以在 micronaut 中注入(inject)一个其构造函数具有参数的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59007113/

相关文章:

java - 你是直接通过http传递hibernate/jpa实体对象还是有更好的选择?

java - 如何向 Micronaut 项目添加第二个数据源?

filter - 如何在 micronaut 中注册自定义过滤器?

java - 从 JPA 获取 @Id 的 DataType

java - 不知道为什么我的程序默认输出最后一个 if 语句

java - Micronaut:如何映射 HashMap 中的所有属性值?

java - 如何将 Hibernate 的 Session 注入(inject) micronaut 中的异步监听器?

java - XXXXRCYYYYMMDDnnnnnnnn 的正则表达式

java - 如何在 java 中提取 X509Certificate 的有效性?

java - 通过 NetBeans 的 JAXB - 我可以使用封装吗?