今天剛發現了一個問題,我當時都懵了,后來慢慢的捋順了一點。是這樣的:
我發現,Spring在用set方法注入時,只要求類中有set方法,而可以沒有對應的屬性,我當時人都傻了。
如果這個類是繼承了父類屬性的set方法,而它自己並沒有這個屬性呢?此種情況下是可以成功注入的。
啥?我給注入了,但是呢?他沒有對應的屬性,那我注入的內容去哪兒了呢?我要想用我注入的內容咋辦呢?
相當於,我給你一個東西,但是你沒有用一個容器來把這個東西接住,在你這兒找不到這個東西,但東西又確確實實給在你這兒?
那我注入的內容,不是憑空消失了嗎?
后來我想通了一點,既然這個類是繼承了父類屬性的set方法,那么一定也繼承了父類這個屬性的get方法(如果父類有,並且可以被繼承)
那么,就可以通過父類的get方法,來獲取注入的內容,並且正常使用。
但是,還有一點困惑的是:那如果父類沒有這個屬性的get方法或者這個get方法不能被繼承呢?
那豈不是我注入的內容,憑空消失了,或者說,是存在這個類中的,但是我看不到、摸不着,並且無法使用??
那這種注入有什么意義呢?Spring它不應該阻止這種注入嗎?
(菜鳥一枚,剛接觸框架,學java也沒多久。若有問題,請大佬指正。
另外,代碼和截圖太麻煩了,不想搞,能懂我描述的意思就行)