黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 一文讀懂Spring是什么

一文讀懂Spring是什么

更新時間:2022-05-10 10:47:16 來源:動力節點 瀏覽1511次

1.spring是什么?

Spring是一個輕量級的IoC/DI和AOP容器的開源框架,大家如果感興趣,可以看看Spring AOP簡介來了解一下。

2.spring的優點

Spring 能幫我們低侵入/低耦合地根據配置文件創建及組裝對象之間的依賴關系 //解耦

Spring 面向切面編程能幫助我們無耦合的實現日志記錄,性能統計,安全控制等 //提高代碼重用性

Spring 能非常簡單的且強大的聲明式事務管理 //使用xml或注解的方法,底層用到動態代理

Spring 提供了與第三方數據訪問框架(如JPA)無縫集成,且自己也提供了一套JDBC模板來方便數據庫訪問

Spring 提供與第三方Web框架無縫集成,且自己也提供了一套 SpringMVC 框架,來方便 Web 層搭建

3.Spring Ioc/DI

Ioc:

(1)控制反轉,是一種設計思想,就是原本在程序中需要手動創建對象的權利,交給spring框架管理

(2)Ioc容器是實現Ioc的載體,Ioc容器實際上就是個Map(key,value),map中存放各種對象

(3)Ioc容器就像一個工廠一樣,當我們需要創建一個對象時,只需要配置好配置文件或貼注解即可,

完全不用考慮對象時如何被創建出來的

(4)將對象相互依賴的關系交給ioc容器管理,這樣可以很大程度簡化應用開發

(5)使用Ioc的話,我們只需要配置好,在需要的地方引用就好,這大大的增加了項目的可維護性且降低了開發難度

DI:

(1)指 Spring 創建對象的過程中,將對象依賴屬性通過配置設值給該對象

(2)就是給對象的屬性設置屬性值

//Ioc創建對象,Di給屬性設置值

4.Spring AOP

Aop:面向切面編程

(1)能夠將那些與業務無關,卻為業務模塊所共同調用的邏輯和責任封裝起來,

便于減少重復代碼,降低模塊間的耦合度,并有利于未來的可拓展性和可維護性

(2)Spring Aop就是基于動態代理的,當要代理的對象實現了某個接口,就會使用Jdk動態代理

(3)如果沒有某個接口,就是使用cglib生成一個被代理對象的子類作為代理

//使用aop之后我們可以把一些通用的功能抽象出來,在需要的時候自己使用即可,這樣大大的簡化了代碼量

//常用的aop的有 事務處理 日志管理 權限控制

5.Spring 中的 bean 的作用域

//作用域:在 Spring 容器中是指其創建的 bean 對象相對于其他 bean 對象的請求可見范圍

singleton : 唯一bean 實例,Spring 中的 bean 默認都是單例的。

prototype : 多例,每次請求都會創建一個新的 bean 實例,多例只會初始化和銷毀,不會存到容器中進行管理

request : 每一次HTTP請求都會產生一個新的bean,該bean僅在當前HTTP request內有效。

session : 每一次HTTP請求都會產生一個新的 bean,該bean僅在當前 HTTP session 內有效。

/*使用總結:在開發中主要使用 scope="singleton"。對于 Struts1 的 Action 使用 request,

Struts2 中的 Action 使 用 prototype 類型,其他使用 singleton,即不配置

6.SpringMVC工作原理

(1)客戶端發出http請求給web服務器,web服務器對http請求進行解析,如果匹配DispatcherServlet的請求映射路徑(在web.xml中指定),web容器將請求轉交給DispatcherServlet.

(2)DipatcherServlet接收到這個請求之后將根據請求的信息(包括URL、Http方法、請求報文頭和請求參數Cookie等)以及HandlerMapping的配置找到處理請求的處理器Controller(Handler)。

(3)DispatclierServlet 根據 HandlerMapping 找到對應的Handler,處理權交給Handler ( Handler將具體的處理進行封裝),再由具體的處理適配器 HandlerAdapter對Handler進行具體的調用。

(4)Handler對數據處理完成以后將返回一個ModeAndView對象給DispatcherServlet.

(5)Handler返回的ModelAndView只是一個邏輯視圖并不是一個正式的視圖,dspatcherSevlet通過ViewResolver將邀輯視圖轉化為真正的視圖view(這句話簡單的就是返回一個要返回的頁面的相對路徑,通過試圖解析器轉換成具體那個頁面)。

(6)DispatcherServlet通過model解析出ModeAndView中的參數進行解析最終展現出完整的view并返回給客戶端

//簡化
1. 客戶端(瀏覽器)發送請求到dispatcherServlet前端控制器 
2. DispatcherServlet 根據請求信息調用 HandlerMapping ,解析請求對應的 Handler 
3. 解析到對應的 Handler(也就是我們平常說的 Controller 控制器)后,開始由HandlerAdapter 適配器處理
4. HandlerAdapter 會根據 Handler 來調用真正的處理器開處理請求,并處理相應的業務邏輯
5. 處理器處理完業務后,會返回一個 ModelAndView 對象,Model 是返回的數據對象,View 是個邏輯上的 View 
6. ViewResolver 會根據邏輯 View 查找實際的 View 
7. DispaterServlet 把返回的 Model 傳給 View (視圖渲染)
8. 把 View 返回給請求者(瀏覽器)

7.Spring 管理事務的方式

(1)編程式事務,在代碼中硬編碼。(不推薦使用)

(2)聲明式事務,在配置文件中配置(推薦使用)

聲明式事務又分為兩種:

1)基于XML的聲明式事務

2)基于注解的聲明式事務

8.Spring 框架中用到的設計模式

(1)工廠設計模式 : Spring使用工廠模式通過 BeanFactory 、ApplicationContext 創建 bean 對象

(2)代理設計模式 : Spring AOP 功能的實現

(3)單例設計模式 : Spring 中的 Bean 默認都是單例的

(4)模板方法模式 : Spring 中 jdbcTemplate 、hibernateTemplate 等以Template 結尾的對數據庫操作類,它們就使用到了模板模式

(5)包裝器設計模式 : 我們的項目需要連接多個數據庫,而且不同的客戶在每次訪問中根據需要會去訪問不同的數據庫,這種模式讓我們可以根據客戶的需求能夠動態切換不同的數據源。

(6)觀察者模式: Spring 事件驅動模型就是觀察者模式很經典的一個應用。

(7)適配器模式:Spring AOP的增強或通知(Advice)使用到了適配器模式,spring MVC中也是用到了適配器模式適配 Controller

9.小結

(1)spring的核心思想Ioc/DI和aop

(2)使用spring不用處理對象之間的依賴關系,能夠大大的降低我們代碼的耦合度,增加項目的可維護性

(3)使用spring我們不用關心對象是怎么創建的,只需要配置好配置文件或貼注解即可,很大程度簡化應用開發

(4)使用spring能夠將與業務無關的代碼,,卻為業務模塊所共同調用的邏輯使用aop將其抽象出來,提高代碼可重用性

(5)spring提供與第三方web框架無縫集成,并且自己也提供一套SpringMVC框架

通過上述介紹,相信大家對Spring已經有所了解,大家如果對此比較感興趣,想了解更多相關知識,不妨來關注一下動力節點的Spring教程,里面的課程內容細致全面,通俗易懂,適合小白學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 黄视频网址 | 成人福利在线视频免费观看 | 日韩精品久久久免费观看夜色 | 看全色黄大色大片免费 | 国产一级特黄aa大片软件 | 国产一区二区三区在线看 | 日本在线看小视频网址 | 中文字幕永久免费 | 无遮挡h肉3d动漫在线观看 | 午夜国产羞羞视频免费网站 | 日韩亚洲第一页 | 日韩亚洲欧美日本精品va | 亚洲国产模特在线播放 | 国产亚洲欧美一区 | 国产一级高清视频在线 | 亚洲国产精品ⅴa在线观看 亚洲国产精品成人久久 | 国产精品手机视频一区二区 | 一区二区三区四区在线观看视频 | 黄色网址最新 | 欧美精品一区二区三区视频 | 精品国偷自产在线不卡短视频 | 中文字幕s级优女区 | 在线天堂中文在线资源网 | gogo人体大胆高清专业久久久 | 免费又黄又硬又大爽日本 | 日韩激情视频在线观看 | 国产在线视频你懂的 | 免费高清特级毛片 | 天天天天做夜夜夜夜 | 日韩一区二区三区不卡 | 香蕉成人在线 | 欧美亚洲91| 黄色一级片欧美 | 在线亚洲不卡 | 欧美在线观看www | 毛片又大又粗又长又硬 | 国产二区精品视频 | 一区二区高清视频在线观看 | 日本高清www午色夜黄 | 欧美性xxx | 在线精品视频成人网 |