@Autowired
@Qualifier("stringMatchedBasedAnswerSuggestion")
private SuggestionEvaluator stringMatchBasedEval;
private List<SuggestionEvaluator> listEvaluators;
public AnswerSuggestionServiceImpl() {
if (listEvaluators == null) {
listEvaluators = new ArrayList<SuggestionEvaluator>();
// All the additional objects to be added.
listEvaluators.add(stringMatchBasedEval);
Collections.sort(listEvaluators, SuggestionEvaluator.compareByPriority());
}
}
在這種情況下,構造函數中的代碼將首先執行或者將創建bean。請問stringMatchBasedEval是否爲null?在Spring中,bean是首先創建的,還是通過構造器第一次創建實例
構造函數會先被調用,然後bean被注入。我敢打賭你會得到NPE。 – SMA
Craig Otis和SMA在您看來存在衝突 – user3646858
Java對構造函數的調用隱含在對象實例中,直到newInstance()返回後才能對新實例執行任何操作,因此無法進行注入... – Adam