0
私は春を伴うインターネット上の記事やチュートリアルを読み続け、そして私は、彼らがスコープで自分@Autowiredメンバを宣言どこそれらの多くは、コードサンプルを持っていることを確認の
など。
@Autowired
AccountRepository accountRepository;
代わりの
@Autowired
private AccountRepository accountRepository;
つまり、なぜ私は思っていました。良いカプセル化の観点からは、これは間違っていると思います。私が知りません春にこれを行うことから利益がありますか?
これらはプライベートにすることもできますが、春はリフレクションによってフィールドの可視性を変更する必要があります。これは、セキュリティマネージャによって許可されない可能性があります。 –
実際のカプセル化では、フィールドをオートワイヤしません。代わりにコンストラクタをオートワイヤします。これはまた、テストを容易にし、依存関係をより明確にします。 –
例を挙げると、簡潔にするために 'private'を省略することができます。結局のところ、これらのチュートリアルでカプセル化を教えているわけではなく、要点ができるだけ明確であることを望んでいます。 –