【问题标题】:Autowire a bean requiring another bean for its object creation自动装配一个需要另一个 bean 来创建其对象的 bean
【发布时间】:2022-01-12 04:37:31
【问题描述】:

我有一个具有以下自动装配的类

public class XYZ {

@Autowired
private Principal principal;

public void main() {
AlexandriaDownloadSignatureUtilityV1 downloadSignatureUtilV1 =
                new AlexandriaDownloadSignatureUtilityV1(
                        getMaterialsetNameProvider(principal),
               
                );
}
}

我想自动装配 AlexandriaDownloadSignatureUtilityV1 依赖,但由于它依赖于 pricipal bean,你能告诉我怎么做吗?

【问题讨论】:

  • 为什么不将AlexandriaDownloadSignatureUtilityV1 设为@Component 以便它本身可以拥有自动装配的bean?或者为什么不将 @Configurations 中的 bean 实例化到 @Bean 方法中?

标签: java spring dependency-injection javabeans autowired


【解决方案1】:
@Component
public class XYZ {

@Autowired
private Principal principal;

public void main() {
AlexandriaDownloadSignatureUtilityV1 downloadSignatureUtilV1 =
                new AlexandriaDownloadSignatureUtilityV1(
                        getMaterialsetNameProvider(principal),
               
                );
}
}

在类的顶部添加@Component,这将创建该对象的一个​​bean并同时注入它们的依赖项

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多