1.繼承(inheritance)的優缺點是什麼?
優點:
新的實現很容易,因爲大部分是繼承而來的 。很容易修改和擴展已有的實現
缺點:
打破了封裝,因爲基類向子類暴露了實現細節 ,白盒重用,因爲基類的內部細節通常對子類是可見的,當父類的實現改變時可能要相應的對子類做出改變 ,不能在運行時改變由父類繼承來的實現。由此可見,組合比繼承具有更大的靈活性和更穩定的結構,一般情況下應該優先考慮組合。只有當下列條件滿足時才考慮使用繼承:子類是一種特殊的類型,而不只是父類的一個角色,子類的實例不需要變成另一個類的對象子類擴展,而不是覆蓋或者使父類的功能失效。
2. 什麼是 Spring 的依賴注入?
平常的 java 開發中,程序員在某個類中需要依賴其它類的方法,則通常是 new 一個依賴類再調用類實例的方法,
這種開發存在的問題是 new 的類實例不好統一管理,spring 提出了依賴注入的思想,即依賴類不由程序員實例化,而
是通過 spring 容器幫我們 new 指定實例並且將實例注入到需要該對象的類中。依賴注入的另一種說法是“控制反
轉”,通俗的理解是:平常我們 new 一個實例,這個實例的控制權是我們程序員,而控制反轉是指 new 實例工作不
由我們程序員來做而是交給 spring 容器來做。
3.SpringMVC 常用註解都有哪些?
@requestMapping 用於請求 url 映射。
@RequestBody 註解實現接收 http 請求的 json 數據,將 json 數據轉換爲java 對象。
@ResponseBody 註解實現將 controller 方法返回對象轉化爲 json 響應給客戶。