0
我一直在互聯網上閱讀文章和教程,涉及到Spring,我發現他們中的很多人都有代碼示例,他們聲明他們的@Autowired成員的範圍爲默認而不是私人。@Eutowired集體成員聲明<default>範圍而不是私人
E.g.
@Autowired
AccountRepository accountRepository;
代替
@Autowired
private AccountRepository accountRepository;
我想知道這是爲什麼。因爲從良好的封裝角度來看,我認爲這是錯誤的。我不知道在春季這樣做有什麼好處嗎?
它們可以是私人的,但那時春天必須通過反射來改變場地的可見性;這可能會被安全管理員拒絕。 –
對於真正的封裝,你不會autowire字段。您將自動裝配構造函數。這也使得測試更容易,並且使得依賴關係更清晰。 –
舉例時,爲了簡潔起見,可以省略「私人」。畢竟,他們並沒有教你如何封裝這些教程,他們希望他們的要點儘可能清楚。 –