Spring在java生態圈的地位非常高

我先回答如何學習spring,設計模式先不談。

多實戰【學習最佳途徑】

會用spring不難,多在spring項目里開發功能即可。

眾所周知,Spring的核心特性就是IOC和AOP,IOC(Inversion of Control),即「控制反轉」;AOP(Aspect-OrientedProgramming),即「面向切面編程」.

我以個人體驗講講吧,我剛開始學spring時,就是死記硬背這些概念,然後在SSM框架里開發功能需求,看看別人在spring怎麼依賴、怎麼定義Bean、怎麼配置spring事務,依葫蘆畫瓢就把功能搞定了,但由於沒有深入理解Spring的IOC和AOP,在出現spring問題時排查解決速度非常慢。

要提升【高級、資深、專家開發】

說白了,要漲更高的工資,spring的理解必須要深。常見spring介面必須知道作用。

如下:

學好這些spring高級特性,你就可以利用spring定製個性化功能,對於業務環境非常複雜的項目spring可以幫我們解決很多複雜問題。如:多數據源的多事務問題,可以利用spring的FactoryBean去生成代理對象;有些特殊業務場景需要手動獲取spring里的Bean對象等等。

第二個問題是先學習設計模式還是spring?

沒有固定先後順序

spring里包含了很多設計模式的應用,設計模式這個問題可以單獨拿出來細講。

總結
  • 面試必備,面試官非常喜歡問spring知識點
  • 通過實際項目來學習理解spring,可以試著一個debug斷點跟下spring源碼
  • spring是Java程序員可以用一生時間來研究的,水很深

歡迎關注我,一起學習java 、spring等等

首先設計模式和Spring你可以當成是兩門學科,並沒有一個必須的前後關係,雖然sping中用到了不少設計模式,但不懂的話至少對學習spring的使用是沒有太大影響的。所以想學的話可以直接學spring。

學任何一門技術,都是由簡入難,先學會最基本的怎麼用,然後有時間有精力可以再去學習其中的原理。就像我們最開始學慣用電腦,都是先學怎麼開關機,怎麼上網,怎麼打字,不會上來先學cpu是怎麼運行的。具體到Spring的學習也是這樣,上來先不要去摳原理,先學會怎麼用,建議到網上找些視頻教程,跟著教程可能只需要幾天時間就可以入門了,無非依賴注入和切面編程這些東西。spring看完了,可以看下SpringMVC的教程,再之後Springboot。框架這個東西,本來就是開發出來簡化程序員的工作的,所以你會發現越往後學用起來越簡單,對自己學習的信心是一個很好的鼓勵。等你會用了,感興趣再去研究其中的原理,你會時不時的覺得」噢,原理是這麼回事「。

強烈建議不要一上來就去看書,有些東西用話說出來可能一聽就懂,但用文字描述就可能要費事了,沒有一定的基礎去看書往往會越來越迷糊,而且書里會大篇幅的講原理,很容易把初學者陷進去。


掌握applicationcontext介面,beanpostprocessor。總之就是ioc容器和aop,尤其是aop。拓展了解aspectj。spring的所有生態成員都是基於ioc和aop的。前期需要掌握聲明式事務,了解動態代理模式,大致aop的實現原理,各種advice。其次sping mvc是需要掌握的,主要放在dispatcherservlet介面。再然後需要了解一下觀察者模式,發布訂閱模式,向spring提供的事件驅動編程過渡。後面可以多了解spring session,cache,security,spring boot ,最後再向微服務過渡。當然其中可能還涉及定時任務啥的,工作中肯定會用到。總結一句話 萬物皆可aop ,重中之重!


看見上一位答主的可愛回答想笑。題主問這個問題應該是還沒接觸了解過spring框架,我有下面的學習建議:

spring框架和設計模式是兩大學習點

spring框架包含了許多架構的頂級設計思路,去研究它是需要花費比較多經歷的。而設計模式也是一大課題 ,有專門一本厚厚的設計模式的書籍給你學習。因此,這兩種東西不能說先去學誰,應該是用到哪個學哪個。

有人說設計模式是為了彌補Java的不足,這是有一定道理的,常規的二十三種設計模式如果說你要全部理清還算要一點時間,要說能學精通還真的挺難。

spring框架的學習建議:
  1. 先學習搭ssm框架項目感受spring框架的魅力。
  2. 對spring框架原理進行理解,這裡如果牽扯上了什麼設計模式就去學習對應的設計模式。
  3. 看看能不能理解和基本運用依賴注入和面向切面編程了。
  4. 推薦讀《spring源碼深度解析》,系統性得結合源碼學習spring框架,途中一定會遇到的設計模式,遇到哪種模式就學哪種模式。

歸納一下就是兩種並行學習,設計模式是輔助spring框架的理解。

覺得「熱心哥哥宇文笑」解讀專業的點點關注,會帶來更多精彩內容分享


在學習spring框架之前,先夯實Java基礎,基礎夯實之後,後面的學習會更加的得心應手,比如說,Java基礎,web前端,資料庫,Javaweb編程等,這些掌握的差不多了,再去研究spring。

以前學習Java是在「如鵬網」上學習的,有比較全面的課程體系,可以作為參考;

詳細的可以到"如鵬網"上去了解一下,有網路的地方就可以學習,有問題隨時提問,老師實時在線答疑。每個章節的後面都有相應的練習題和面試口才題,需要以錄音的方式進行提交,實時把控學習質量。有新的課程更新了,也是可以繼續申請了來學習的,比如說,Java提高課程,裡面對spring和設計模式有更加深入詳細的講解。

第二階段:NoSQL

第三階段:設計模式

第四部分:分散式技術

第五部分:綜合項目。這是一個手機商城系統,綜合應用VueJS、Spring Boot、Spring Cloud、NoSQL、MQ、全文檢索、ELK、sharding jdbc等技術。

。 如果你是想學習spring,建議你可以在網上找一些spring的基礎課程,系統學習下。如

spring容器、依賴注入、控制反轉、aop、bean的生命周期等等

。如果你是想學設計模式,也可以在網上找到對應的系統課程

。 spring與設計模式是兩個概念,沒有一定要先學誰。 spring源碼中,使用了許多優秀的設計模式,如工廠、單例、代理、觀察者等。但是沒有學過設計模式,你也可以看的懂。設計模式,只是一種經驗,一種問題的最優解決方案,而不是一種新的技術點。


謝邀! 雖然Spring中用到了很多設計模式,但是如果你沒學過設計模式,也是可以先學習Spring的,看過設計模式會對理解Spring的源碼有幫助。 學一個框架,首先你要先學會如何使用,這樣後續才可以更好的理解它的內部原理,理解原理才能在它的基礎上做擴展,使用過程中報錯也可以快速定位解決問題,先學會爬,才能學會走。 Spring框架的使用,可以參照官方的使用手冊,讀第一手資料不會被誤導,如果你覺得英文看起來比較吃力,可以在豆瓣上找一本比較靠譜的書,跟著書學習,推薦一本Spring實戰。Spring框架的基礎用法會了,可以結合其它框架,比如mybatis等,整合使用,動手實踐寫一些小的項目。 在熟練使用的基礎上,要去研究Spring內部的實現原理,如IOC、AOP、聲明式事務等底層是如何實現的,有哪些擴展點、擴展介面可以使用,讀源碼去研究實現原理,配合書籍會效率高些,同樣去找一本點評高的書。 再說設計模式,設計模式是解決設計問題的法寶,它是經驗積累的成果,學習設計模式先了解它能解決什麼問題、如何實現的,做到心裡有數,但是切勿為了用某個設計模式而用,當真正需要解決某類問題的時候可以選擇使用! 希望對你有所幫助!


Spring學習方法:

一、首先Java的基礎、面向對象的基礎和設計模式的基礎知識是必不可少的

二、看一些Spring的入門書籍  

三、研究幾個用Spring做的開源項目

四、開始做實際的項目   

五、繼續深入學習

六、分析源代碼,擴展Spring

spring下載包中doc目錄下的MVC-step-by-step和sample目錄下的例子都是比較好的spring開發的例子;

可以通過AppFuse源代碼來學習spring,AppFuse集成了目前最流行的幾個開源輕量級框架或者工具。

需要Java進階架構資料,關注私信發送暗號555

個人建議先學習spring的基礎知識,學會如何作用spring去做項目,如何將spring配置融合到項目中去。而當你去作用spring做項目後,你會發現你有很多疑問,這時就可以去系統的學習spring了,比如它的一些事務管理,切面編程等等,這時你想弄清楚spring那就需要去看設計模式了。


推薦閱讀:
相关文章