gpt4 book ai didi

java - Autowiring 构造函数和字段

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

在进行spring容器的自动配置时,同时 Autowiring 字段和构造函数是不是错误?例如:

@Component
public class Test1 {

@Autowired
private Test2 B;

@Autowired
Test(Test2 C) {
this.B=C;
}
}

你能解释一下究竟发生了什么吗?

最佳答案

这是错误的。您可能有两个 Test2 bean,一个名为“B”,一个名为“C”(顺便说一句,名称应为小写)。该构造函数将首先被调用,将字段设置为 C;之后该字段将被注入(inject),并用 B 覆盖该字段。如果只有一个 Test2 bean,那么它就可以工作,但请记住,构造函数注入(inject)的目的是避免字段注入(inject)并启用 final 字段。

关于java - Autowiring 构造函数和字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50589531/

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