Qual è la differenza tra anotate @Autowired a una proprietà o nel setter?spring @Autowire property vs setter
Per quanto ne so entrambi hanno lo stesso risultato, ma c'è qualche ragione per usarne uno sull'altro?
UPDATE (per essere più conciso)
C'è una differenza tra questo
package com.tutorialspoint;
import org.springframework.beans.factory.annotation.Autowired;
public class TextEditor {
private SpellChecker spellChecker;
@Autowired
public void setSpellChecker(SpellChecker spellChecker){
this.spellChecker = spellChecker;
}
public void spellCheck() {
spellChecker.checkSpelling();
}
}
e questo
package com.tutorialspoint;
import org.springframework.beans.factory.annotation.Autowired;
public class TextEditor {
@Autowired
private SpellChecker spellChecker;
public TextEditor() {
System.out.println("Inside TextEditor constructor.");
}
public void spellCheck(){
spellChecker.checkSpelling();
}
}
Non so perché le risposte a questa domanda sarebbero state giudicate. Voglio sapere se c'è una differenza pratica tra l'uso di @Autowired in un setter o direttamente nella proprietà. Non chiedere quale sia migliore, solo se c'è una differenza – luso