gpt4 book ai didi

java - Spring 类必须是 AutoWire 属性的组件吗?

转载 作者:行者123 更新时间:2023-12-04 21:10:19 24 4
gpt4 key购买 nike

在 Spring 3.X 中,是否必须将类注释为组件才能将字段 Autowiring 到其中?

假设我有:

@Service("myBean")
public class Mybean {

}

public class Target {
@Autowired
@Qualifier("myBean")
private MyBean;
}

然后在我的 beans.xml
<context:component-scan base-package="com.package.beans" />

在哪里 MyBean.javacom.package.beans.MyBean package 内.

是否上课 Target必须注释为 @Component或其他一些 Spring 注释以 Autowiring 其中一个字段?

最佳答案

不,它不必被注释,但它必须是一个 Spring bean。您可以通过使用原型(prototype)注释来做到这一点,例如 @Component ,但您也可以通过声明 <bean> 来制作 Spring bean XML 中的元素或从 @Bean 返回配置方法。

请注意,在任何情况下都最好使用构造函数注入(inject),因为它对 Autowiring 没有影响,但会使测试更容易,并使某些错误更加困难。

关于java - Spring 类必须是 AutoWire 属性的组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36340741/

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