更新時間:2019-11-13 09:28:43 來源:動力節點 瀏覽2826次
Spring框架指的都是SpringFramework,它是很多模塊的集合,使用這些模塊可以很方便地協助我們進行開發。這些模塊是:核心容器、數據訪問/集成,、Web、AOP(面向切面編程)、工具、消息和測試模塊。比如:CoreContainer中的Core組件是Spring所有組件的核心,Beans組件和Context組件是實現IOC和依賴注入的基礎,AOP組件用來實現面向切面編程。
核心技術包括
依賴注入(DI),AOP,事件(events),資源,i18n,驗證,數據綁定,類型轉換,SpEL。
主要模塊
SpringCore:基礎,可以說Spring其他所有的功能都需要依賴于該類庫。主要提供IOC依賴注入功能。
SpringAspects:該模塊為與AspectJ的集成提供支持。
SpringAOP:提供了面向方面的編程實現。
SpringJDBC:Java數據庫連接。
SpringJMS:Java消息服務。
SpringORM:用于支持Hibernate等ORM工具。
SpringWeb:為創建Web應用程序提供支持。
SpringTest:提供了對JUnit和TestNG測試的支持。
一
IoC(InverseofControl:控制反轉)是一種設計思想,就是將原本在程序中手動創建對象的控制權,交由Spring框架來管理。IoC在其他語言中也有應用,并非Spirng特有。IoC容器是Spring用來實現IoC的載體,IoC容器實際上就是個Map(key,value),Map中存放的是各種對象。
現在通過注解來實現
aop
能夠將那些與業務無關,卻為業務模塊所共同調用的邏輯或責任(例如事務處理、日志管理、權限控制等)封裝起來,便于減少系統的重復代碼,降低模塊間的耦合度,并有利于未來的可拓展性和可維護性。
bean的作用域
singleton:唯一bean實例,Spring中的bean默認都是單例的。
prototype:每次請求都會創建一個新的bean實例。
request:每一次HTTP請求都會產生一個新的bean,該bean僅在當前HTTPrequest內有效。
session:每一次HTTP請求都會產生一個新的bean,該bean僅在當前HTTPsession內有效。
global-session:全局session作用域,僅僅在基于portlet的web應用中才有意義,Spring5已經沒有了。Portlet是能夠生成語義代碼(例如:HTML)片段的小型JavaWeb插件。它們基于portlet容器,可以像servlet一樣處理HTTP請求。但是,與servlet不同,每個portlet都有不同的會話
springmvc
SpringMVC可以幫助我們進行更簡潔的Web層的開發,并且它天生與Spring框架集成。SpringMVC下我們一般把后端項目分為Service層(處理業務)、Dao層(數據庫操作)、Entity層(實體類)、Controller層(控制層,返回數據給前臺頁面)。
springmvc.工作原理
SpringMVC的入口函數也就是前端控制器DispatcherServlet的作用是接收請求,響應結果。
流程說明(重要):
客戶端(瀏覽器)發送請求,直接請求到DispatcherServlet。
DispatcherServlet根據請求信息調用HandlerMapping,解析請求對應的Handler。
解析到對應的Handler(也就是我們平常說的Controller控制器)后,開始由HandlerAdapter適配器處理。
HandlerAdapter會根據Handler來調用真正的處理器開處理請求,并處理相應的業務邏輯。
處理器處理完業務后,會返回一個ModelAndView對象,Model是返回的數據對象,View是個邏輯上的View。
ViewResolver會根據邏輯View查找實際的View。
DispaterServlet把返回的Model傳給View(視圖渲染)。
把View返回給請求者(瀏覽器)
spring框架用到的設計模式
工廠設計模式:Spring使用工廠模式通過BeanFactory、ApplicationContext創建bean對象。
代理設計模式:SpringAOP功能的實現。
單例設計模式:Spring中的Bean默認都是單例的。
模板方法模式:Spring中jdbcTemplate、hibernateTemplate等以Template結尾的對數據庫操作的類,它們就使用到了模板模式。
包裝器設計模式:我們的項目需要連接多個數據庫,而且不同的客戶在每次訪問中根據需要會去訪問不同的數據庫。這種模式讓我們可以根據客戶的需求能夠動態切換不同的數據源。
觀察者模式:Spring事件驅動模型就是觀察者模式很經典的一個應用。
適配器模式:SpringAOP的增強或通知(Advice)使用到了適配器模式、springMVC中也是用到了適配器模式適配Controller
component與bean區別
作用對象不同:@Component注解作用于類,而@Bean注解作用于方法。
@Component通常是通過類路徑掃描來自動偵測以及自動裝配到Spring容器中(我們可以使用@ComponentScan注解定義要掃描的路徑從中找出標識了需要裝配的類自動裝配到Spring的bean容器中)。@Bean注解通常是我們在標有該注解的方法中定義產生這個bean,@Bean告訴了Spring這是某個類的示例,當我需要用它的時候還給我。
@Bean注解比Component注解的自定義性更強,而且很多地方我們只能通過@Bean注解來注冊bean。比如當我們引用第三方庫中的類需要裝配到Spring容器時,則只能通過@Bean來實現。
以上就是動力節點java學院小編針對“學習spring必學的Java基礎知識:Spring框架”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
零基礎自學java教程推薦
最新java視頻教程免費下載(從入門到精通):http://www.dabaquan.cn/video.html
零基礎java自學教程:http://www.dabaquan.cn/tutorial_java_se/
相關推薦
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習