gpt4 book ai didi

java - Spring 如何在不使用 @Component 或其他衍生物的情况下 Autowiring 组件

转载 作者:行者123 更新时间:2023-12-02 13:24:06 25 4
gpt4 key购买 nike

我想 Autowiring 一个组件(仍然使用@Autowired注释),但不要求它上面有@Component(或其他类似的注释)。我该怎么做?

public class A {

@Autowired
private class B b;

}

@Component
public class B {

}

这将很方便,以便允许 Autowiring 类 A 而无需创建 A,除非我们需要它(否则通过使用类名进行反射)。

最佳答案

注入(inject)和 Autowiring 不需要@Component 。他们需要 bean 。 @Component声明应该为带注释的类型生成一个 bean。您可以通过其他方式定义 bean:使用 <bean> XML 上下文配置中的声明,带有 @Bean方法 @Configuration类等

你最后一句话没有多大意义。如果不创建 bean,则无法处理 bean 中的注入(inject)目标。您也无法在不创建 bean 的情况下注入(inject)它。 (应用于范围,bean 可能引用目标源/代理而不是实际实例。)也许您想要 @Lazy

关于java - Spring 如何在不使用 @Component 或其他衍生物的情况下 Autowiring 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24373237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com