В чем преимущество использования @Autowired для методов установки? - PullRequest
0 голосов
/ 13 апреля 2020

Сейчас я изучаю Spring Boot, и я видел, что аннотация @Autowired может быть применена к конструктору, свойствам или методам установки. мы применяем @Autowired к свойству, когда хотим избавиться от метода установки. правильно? Кроме того, я хочу знать о значении @Autowired для сеттеров и конструкторов. Есть ли какое-то преимущество, если бы @Autowired устанавливалось на сеттер вместо свойства? Например:

public class TextEditor {
   @Autowired                        //Applied @Autowired on property
   private SpellChecker spellChecker;

   public void setSpellChecker( SpellChecker spellChecker ){
      this.spellChecker = spellChecker;
   }
   public SpellChecker getSpellChecker( ) {
      return spellChecker;
   }
   public void spellCheck() {
      spellChecker.checkSpelling();
   }
}

или мы также можем применить @Autowired для метода Setter следующим образом:

public class TextEditor {
   private SpellChecker spellChecker;

   @Autowired                           //Applied @Autowired on setter
   public void setSpellChecker( SpellChecker spellChecker ){
      this.spellChecker = spellChecker;
   }
   public SpellChecker getSpellChecker( ) {
      return spellChecker;
   }
   public void spellCheck() {
      spellChecker.checkSpelling();
   }
}

Если у вас есть логический ответ, пожалуйста, поделитесь. Также заранее спасибо !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...