我下载了intelliJ,它给了我一个建议,可以将我的注射放入构造函数中。然而,当他们做他们的建议我有一个其他的建议消息告诉我,我需要一个空的构造函数。所以我想知道实现这样的事情的最佳方法是什么:
这只是每分钟运行的jsf应用程序中的后台任务。
@Singleton
public class MatchesBgService implements Serializable {
@Inject //intelliJmessage : Hey, you should use constructor injection
private MatchLookup ml;
@Inject
private MatchTask bgTask;
public MatchesBgService(){
comparator = new MatchComparator();
}
@Schedule(hour = "*", minute = "*/1", second = "20", persistent = false)
public void gettingMatches() {
答案 0 :(得分:1)
您的代码可能如下所示:
@Singleton
public class MatchesBgService implements Serializable {
private final MatchLookup ml;
private final MatchTask bgTask;
@Inject
public MatchesBgService(MatchLookup ml, MatchTask bgTask){
this.ml = ml;
this.bgTask = bgTask;
// ...
}
}
回答你的疑惑:
这就是IntelliJ为您提供这些建议的原因 干杯