回覆列表
  • 1 # 程式猿W

    我的觀點

    Spring框架體系不是重複要輪子,下面是我們常用的開發框架:

    ①ssh (spring/struts/hibernate)

    ②ssm(spring/springmvc/mybatis)

    ④ dubbo

    ⑤ springcloud

    ⑥其他二次封裝的框架

    上面我們開發使用的框架都離不開spring,一句話:只要你還在用java開發,你就離不開spring。

    Spring為什麼那麼重要?

    Spring最主要的兩大模組是Ioc和aop,Ioc就是依賴注入,以前如果我們在一個類中引用另外一個類,那麼直接是new的,而現在有了spring,所有bean的生命週期和相互的依賴,都是由spring來管理的。

    AOP:面向切面程式設計,即把我們平時業務中的公共部分提取出來寫在切面裡,然後在系統啟動時,在底層使用動態代理,給需要切入的類加上公共的業務。比如我們的效能監控,事務的處理都是用的spring aop。

    而且spring得可擴充套件性非常強

    Spring的強擴充套件性體現在在哪兒?

    看過原始碼的都知道,spring提供了非常多的Bean的後置處理器,不僅是這些,spring還在載入的各個階段預留了空方法,就給使用者去自定義實現。比如bean註冊少,註冊後,例項化前,例項化後,最後容器初始化要了還有預留的介面,如果我們需要擴充套件只要實現一個介面即可。

    其他框架是怎麼融合spring的呢?

    ① 我們先說spring aop 在哪個階段對bean進行代理的

    Aop在getBean方法裡,在bean例項化前會初始化好切面和增強器。

    在bean例項化後,使用spring預留的介面,實現對bean的代理。

    ② springboot整合tomcat是怎麼啟動的?

    實在spring中的onRefresh()的空方法實現的,這時bean還沒有初始化。

    在spring容器初始化完成後,有一個預留介面,ureka實現了這個介面進行啟動。

    上面例子還有很多,就不一一說了;

  • 2 # 逆著書本的光

    哥們,如果你在10年之前可以不用學spring,但是現在spring就是JAVAweb開發必備的技能,百分之90以上專案離不開spring這一套,AOP和控制反轉面試必問。在JAVA領域spring已經是王者了,它能夠極大的加快你的團隊開發速度。目前springboot和springcloud更是分散式微服務的首先,建議好好學學spring這套生態,基本可以讓你工作得心應手。

  • 中秋節和大豐收的關聯?
  • 怎樣練琴進步更快?你有哪些方法?