1. 程式人生 > >面試-Spring理解

面試-Spring理解

關系 涵蓋 reac 父類 work implement 軟件源 may webpack

轉!!!!

http://hui.sohu.com/infonews/article/6331404387079946240

----------

spring呢,是pivotal公司維護的一系列開源工具的總稱,最為人所知的是spring mvc,事實上,他們都是基於spring framework,並且再其上繼續增強,為某一方面服務的java組件。最近spring framework 剛升級到5,非常不錯。比較常見的有spring boot,spring mvc,spring webFlux。過去spring framework被成為XML地獄,目前的版本已經大為改善,並且在其十來個組件當中,基本上涵蓋了java開發的絕大多數,是一套非常成熟穩健的java應用框架。
我有次面試被問到spring IOC的時候不想再官方話,打了個比方,IOC它就類似於一個菜筐,以前你需要自己去菜市場買菜,現在你只要在家門口放一個菜框applicationcontext.xml或者也叫???.xml,然後就有人給你發菜,你想要什麽樣的菜也就是bean,在菜筐留個紙條預定下,想要青菜會發青菜,想要蘑菇會發蘑菇,青菜你想要菠菜或者生菜再預定下property,蘑菇想要土菇或者金針菇也可以預定下property,然後就會發菜了,你就可以不出門坐家裏等著發菜做飯了

你要知道,首先Spring是一個大的概念,Spring從最開始的一個Library到現在一個系列,其中最主要的包括Spring Framework, Spring Data, Spring Security, Spring Batch等等,以及快速框架Spring Boot,其中最重要的項目是Spring Framework,這個項目包括了IoC, AOP, MVC以及Testing。

第一個需要明白的是Spring的核心思想是什麽?

Spring整個系列的最最核心的概念當屬IoC, AOP,什麽是IoC和AOP就不展開了,簡而言之,將對象創建過程的職責賦予容器,通過容器管理對象的生老病死, 將對象創建過程從編譯時延期到運行時,即通過配置進行加載,這樣一來就解決了不用編譯後期選擇具體實現,其實就是面向對象的核心理念,針對接口編程。java學習幹貨面試經驗裙:282711949。IoC開始就是個factory加上依賴管理罷了,這樣一來,一個系統的創建過程就從原先的new改為配置組裝,內部通過註入解決了依賴關系,只要滿足接口協議即插即用。通過IoC, AOP事實上形成了一個套路,通過這個套路完成了系統的整合。

所以Spring並沒有說自己寫一個ORM,而是用統一的套路完成了多個ORM的集成,這也是Spring越做越大的基礎,慢慢就形成了Spring Way,其實這個才是Spring最有價值的地方。

第二當然就是一些實踐,其實主流問的大概也就幾個方向,用的最多的應該就是Spring MVC, Spring Data, Spring Security和Spring Boot這幾塊吧,因為畢竟這是實踐性內容,很多時候都是show me the code,之前學習過程寫過一個sample,基本全是標準Spring Way,你可以拿去參考一下,GitHub - nonocast/todolist: A simple todolist system implemented with Spring‘s backend and TypeScript/React‘s frontend. Enjoy it.

pring Boot
Spring MVC
Spring Security
Gradle
Freemarker
WebJars
Spring Data JPA
Mysql
Wechat
React
TypeScript
webpack
Redis
May it helps.

其實軟件源於生活一點也沒錯。

在生活中對於男性來說,如果有某方面需要,怎麽辦?找個女人結婚就是直接new一個對象,但是有一天發現我不要和這個人啪啪啪了,那就離婚再new一個對象,但是這樣牽扯到財產分割以及一大堆手續什麽的太麻煩,換而言之就是耦合度太高,解耦麻煩。

這時候聰明的人類想出了一個辦法,ji院!

比如天上人間,一個個如花似玉的姑娘實現了一個叫做”小姐”的接口。當男人們有需要時,去天上人間,說:我要一個MM,這時候MM指向的某個具體對象通過依賴註入的方式給客戶服務。下次再去時想換個不同口味的,提出的需求仍舊是我要一個MM,因為這裏MM是多態的(同一父類型的引用指向不同對象)。

這就是通過接口類型註入對象的好處,采用這種方式耦合度就大大下降了。

現在你明白了吧,spring之所以叫做spring,顧名思義就是春嘛。spring容器就是買春的容器就是ji院!

面試-Spring理解