我有一个 Spring 类,我在其中使用构造函数 Autowiring 服务,并且在同一个构造函数中我正在初始化同一类的其他字段。
@Component
class Converter {
private TestService testService;
private Interger otherFields;
@Autowired
public Converter(TestService testService) {
this.testService = testService;
this.otherFields = new Integer(10);
}
}
我的功能运行良好,但这是一个好的做法吗?@Autowired
注释会对 otherFields
初始化过程产生任何影响
最佳答案
不应该。回到 xml 时代,当您想要将参数传递给构造函数时,您提到了构造函数 arg 的引用 bean。这只是意味着您必须有一个将指定的 bean 类型作为参数的构造函数。只要通过构造函数创建一个有效对象,在构造函数中添加什么并不重要(尽管这只是普通的 java 编程,与 Spring 无关)。
Autowiring 只是一种创建具有必要依赖项的对象的简单方法,您的代码仍然是您的代码。
关于java - Spring构造函数 Autowiring 和初始化其他字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30702982/