Java面試練習與總結第一回(spring+方法的重寫與過載)
阿新 • • 發佈:2018-12-04
Java面試練習與總結第一回(spring+方法的重寫與過載)
臨近Java面試的練習與總結,範圍可由JavaSE到資料庫、Web前端再到JavaEE初級、各類框架、Linux系統等方面,包含知識點和疑難問題點,系列連載發文,可供求職者參閱。
1.SpringMVC的常用註解
- @RequestMapping:處理請求地址對映的註解,常用在類和方法上,若用在類上表示作為類中方法的父路徑;
屬性:- value:指定請求的實際 url;
- method:指定請求的method型別(get、post、put、delete);
- params:指定Request中必須包含的引數,該請求才生效;
- header:指定Request的請求體中必須某些header的值,該請求才生效;
- consumes:指定Request請求提交的內容型別(如:application/Json,text/html);
- produces: 指定返回的內容型別,僅當request請求頭中的(Accept)型別中包含該指定型別才返回。
- @RequestParam:繫結單個請求引數值,request.getParameter(“xxx”);
屬性:- value:引數名稱;
- required:是否必須,預設true,表示請求中必須包含該引數,否則丟擲異常;
- defaultValue:預設值,指定請求中沒有該引數時的值,此屬性使得required的值改為false;
- @PathVariable:繫結URI地址上的路徑變數;
屬性:- value:引數值;
- required:是否必須;
- @ResponseBody:作用於Controller層的方法之上,可以整個返回結果以某種格式返回,如Json、text;
- @ModelAttribute:被註釋的引數或方法新增到Model中,當註釋在方法時,請求處理方法Action會將該方法變成一個非請求處理的方法,但其它Action被呼叫時會首先呼叫該方法;
- @SessionAttributes:註釋在類上,可以將指定屬性值存到Session作用域中;
- @CookieValue:獲取Cookie中的值;
- @GetMapping:是一個組合註解,是@RequestMapping(method = RequestMethod.GET)的縮寫。該註解將HTTP Get 對映到 特定的處理方法上;
- @PostMapping:與上同理;
- @PutMapping:與上同理;
- @DeleteMapping:與上同理;
- @JsonFormate:將json、xml轉換成Java物件,出自於Jackson;
- @DateTimeFormat:是spring自帶的處理框架,主要用於將時間格式化;
- @JSONField:來源於fastjson,是阿里巴巴的開源框架,主要進行JSON解析和序列化。
2. 簡述對Spring IoC的理解
IoC:Inversion of Control,即“控制反轉”,是一種設計思想,在Java設計開發中,IoC意味著將物件的設計交給容器控制。
- 為什麼有IoC容器?Spring框架至於Java Bean的管理,是典型的工廠設計模式,而建立Bean的Factory就是IoC容器;所以IoC容器的出現為開發者提供了更多的便利和基礎服務;
- 什麼是IoC?IoC是一種設計思想,主要是為了完成物件的建立和依賴的管理注入。
- IoC技術實現原理?我們都知道IoC既是生成Bean的工廠,而要知道工廠是如何產生物件的,我們需要看具體的IOC容器實現,spring提供了許多IOC容器的實現。比如XmlBeanFactory,ClasspathXmlApplicationContext等。
- IoC和DI之間的關係?DI—Dependency Injection,即“依賴注入”,IoC通過DI動態的向某個物件提供它所需要的其他物件。
3. 方法的過載與方法的重寫
區別 | 過載 | 重寫 |
---|---|---|
英文名 | Overloading | Overiding |
範圍 | 同一類 | 不同類(繼承關係) |
方法名 | 相同 | 相同 |
引數列表 | 不同 | 相同 |
修飾符 | 無關 | 大於或等於父類 |
返回值型別 | 不同 | 相同(或小於父類) |
面向物件思想 | 多型 | 繼承 |
丟擲父類沒有的異常 | 可以 | 不可以 |