java - Spring构造函数 Autowiring 和初始化其他字段

标签 java spring dependency-injection

我有一个 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/

相关文章:

c# - 你如何处理 IoC 和 DI 的 'deep' 依赖项?

java - 断言列表时 assertEquals 究竟检查什么?

java - 如何直接从 .JAR 中的子目录中获取文件列表 - JAVA

java - 谷歌云存储文件的追加操作

java - Spring Webservices 给出 406 错误

ios - 使用 CoreData 和依赖注入(inject) - 线程 1 : Fatal error: init(coder:) has not been implemented

java - 将 JWindow 用于 float 工具窗口会导致所有者窗口在单击 float 窗口时变为 "flicker"

spring - 如何在flink环境下初始化flink作业的spring资源

java - spring 批处理仍处于 EXECUTING 状态

asp.net-mvc-4 - Ninject 和惰性依赖注入(inject) mvc 4.5