【发布时间】:2017-05-16 18:27:08
【问题描述】:
我确信将我的 Spring Java 字段注入 [@Autowired] 转换为构造函数注入(among other reasons,以方便模拟单元测试)...
是否有一个实用程序可以用来自动将 Spring 字段转换为构造函数注入?
例如,IntelliJ IDEA 有很多东西的生成快捷方式(即:为字段生成 setter 和 getter);我希望有类似的东西......当手动进行转换很乏味时,这特别有用,因为要转换的类已经有许多字段注入字段。
【问题讨论】:
-
我不知道。
-
没有开箱即用的东西。我的做法是,我搜索并将
@Autowired private替换为@Autowired private final。然后显示一个错误,提示最终字段未初始化。如果您执行自动完成(Alt+Enter),那么它会询问它是否要创建一个构造函数,然后您可以选择字段并输入。就是这样。 -
@pvpkiran 这听起来像是一个很好的解决方法。下次有机会我会在私人可以接受的地方尝试一下。
-
当然,private 只是我给你的一个例子。它可以是任何修饰符。主要是使字段最终化,这样 Idea 就会报错,我们可以启动自动完成以生成所需的构造函数
-
@cellepo @meese 让我将其添加为 aswer,因为很多人都遇到了这个问题。
标签: java spring intellij-idea dependency-injection constructor-injection