91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springMVC和spring的概念有哪些

發布時間:2022-04-06 17:45:35 來源:億速云 閱讀:112 作者:iii 欄目:編程語言

這篇“springMVC和spring的概念有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“springMVC和spring的概念有哪些”文章吧。

什么是springMVC

springMVC是一個基于MVC架構的,用來簡化WEB應用程序的框架;屬于表現層的框架。

springMVC的工作原理

用戶發送請求到前端控制器,前端控制器接受到請求調用處理器映射器,處理器映射器根據請求的URL找到具體的處理器,生成處理器對象及處理器攔截器(如果有則一并生成)返回給前端控制器,前端控制器通過處理器 適配器調用處理器,然后執行控制器,執行完成后返回視圖和模型,處理器適配器將控制器執行結果視圖和模型返回給前端控制器;前端控制器將視圖和模型傳給視圖解析器,解析后返回具體視圖,前端控制器對視圖進行渲染視圖(即將模型數據填充到視圖中),前端控制器響應給用戶。

springMVC的理解

springMVC的入口是一個servlet即前端控制器。
springMVC是基于方法開發(一個URL對于一個方法),請求參數傳遞到方法的形參,可以設計為單例模式或多例;建議用單例,默認是單例的。
為什么建議用單例?
	1、性能(不用每次請求都New對象)。
	2、不需要多例(不要在控制器中定義成員變量)。

什么是spring框架

	它是一個輕量級的開源的框架,創建性能好,易于測試,可重用代碼;它基于IOC(反向控制)和AOP(面向切面)的架構多層Jzee(企業級應用)系統的框架。
	優點:
		1、能有效地組織中間層對象,不管是否使用了EJB(企業級JavaBean)。
		2、消除了在工作中對單例模式的過多使用,降低了系統的可測試性和面向對象。
		3、消除各種自定義格式的屬性文件的需要,易于單元測試。
		4、把對接口編程而不是對類編程的代碼減少,養成好的編程習慣。
		5、使用它創建的應用盡可能少的依賴于它的(APIS)編程接口。

spring的理解

它的兩大核心:IOC(控制反轉)和AOP(面向切面)。
1、IOC:降低了程序的耦合度,使項目成為可插拔的組件式工程。
2、AOP:使開發過程精力得到釋放,更專注去解決客戶需求,可維護性高。
3、它提供的事務管理機制,采用聲明的方式來配置事務,從而維護時無需改動源代碼,解決了程序硬編碼的問題。
4、它提供的DAO(數據存取對象)模板使持久層多了一種用途。
5、它可以整合當前任何一種框架,使在管理項目時更清晰明確。
spring管理事務有2種方式。
	1、編程式事務,在代碼中硬編碼。
	2、聲明式事務,在配置文件中配置;(推薦)
聲明式事務分為2種:
	1、基于XML的聲明式事務。
	2、基于注解的聲明式事務。

什么是依賴注入

依賴注入是實現控制反轉的一種思想(另一種是依賴查找)。
在開發的過程中,我們需要某個類的實例時,是由使用者為我們提供該類的實例,而不是自己去獲取。
實現依賴注入的兩種方式:
	1、使用構造方法注入。
	2、set方法注入。

什么是控制反轉

IOC是spring的核心之一。
控制反轉是指,我們在獲取對象的時候,由之前的主動變成了被動接收;也就是說在編程某個類時,只需要提供一個接口類型的類成員,并不需要關系具體的實現類,而由使用者在使用時提供,降低了類與類之間的耦合度。

MyBatis

MyBatis是一個支持普通SQL查詢,存儲過程和高級映射的優秀持久框架。
消除了幾乎所有的JDBC(Java數據庫連接)代碼和參數的手工設置以及對結果集的檢索封裝。可以使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJO(普通的Java對象)映射成數據庫中的記錄。

MyBatis工作原理

springMVC和spring的概念有哪些

什么是springBoot

由pivotal團隊提供的全新框架,目的是用來簡化新spring應用的初始化搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不需要定義樣板化的配置。
springBoot組件
	1、springBoot自動配置:spring啟動能夠檢測某些框架的可用性,一旦檢測到框架,它就自動配置它。
	2、springBoot Core:是其他spring模型基礎,它提供了某些功能,可以通過驗證自行完成。
	3、springBoot starters:幫助啟動項目,它會自動添加啟動  項目和依賴項。
springBoot 特點
	1、用來實現微服務
	2、自動配置
	3、自定義配置
	4、模塊化
	5、獨立打包,直接運行
	6、內嵌服務器(如:Tomcat服務器)
	7、spring Cloud的基礎

spring Security安全框架

spring Security是一個強大的和高度可制定的身份驗證和訪問控制框架。它是保證基于spring的應用程序安全的實際標準。
主要功能:
	1、認證:驗證用戶名和密碼是否合法(是否系統中用戶)
	2、授權:是系統用戶不代表你能使用某些功能,因為你沒有對于的權限
	3、防御會話固定,點擊劫持,跨站點請求偽造等攻擊
	4、servlet API集成
	5、與springWebMVC的可選集成

Java多線程、集合、樂/悲觀鎖

什么是多線程
	一個進程中可以開啟多條線程,每條線程可以并行(同時)執行不同的任務。
	如:進程A車間,線程A車間的工人;
	多線程技術可以提高程序的執行效率,多線程是屬于一種并發手段,是多任務的一種特別的形式,但多線程使用了更少的資源開銷。
三種創建線程的方法:
	1、實現Runnable接口
	2、繼承Thread類本身
	3、通過Callable和Fature創建線程
多線程的原理
	1、同一時間,CPU只能處理一條線程,只有一條線程在工作(執行)
	2、多線程并發(同時)執行,其實是CPU快速地在多條線程直接切換
	3、如果CPU調度線程的時間足夠快,就造成了多線程并發執行的假象
如果線程非常多,會發生什么情況?
	1、CPU會在N多線程之間切換,CPU會累死,消耗大量的CPU資源
	2、線程的執行效率降低
線程的生命周期
	1、新建狀態
	2、就緒狀態
	3、運行狀態
	4、阻塞狀態:
			1、等待阻塞
			2、同步阻塞
			3、其他阻塞
	5、死亡狀態
線程的幾個主要概念:
	1、線程同步
	2、線程間通信
	3、線程死鎖
	4、線程控制:掛起,停止和恢復
樂觀鎖和悲觀鎖
	1、樂觀鎖持樂觀狀態,就是假設我的數據不會被意外修改,如果修改了就放棄從頭再來。
	2、悲觀鎖持悲觀狀態,就是假設我的數據一定會被修改,那干脆直接加鎖得了。

Java集合簡介
collection接口的三個子接口:
1、set
2、list
3、Queue
集合大致可分為以下四種體系:
1、set:無序,不可重復的集合
2、list:有序,可重復的集合
實現list接口常用的類有:LinkedList ArrayList Vector和Stack.
3、Map:則代表具有映射關系的集合
4、Queue:Java5中新增加了,代表一種隊列集合實現
集合與數組的區別
1、數組長度初始化指定,只能保存定長的數據,集合可以保存數量不確定的數據,還可以保存具有映射關系的數據。
2、數組元素即可以基本類型的值,也可以是對象,集合只能是對象,實際保存對象的引用變量,基本類型的變量要轉成對于的包裝類才能放入集合中。

map和collection是Java集合框架的根接口。map里的key是不可重復的,用于保存具有映射關系的數據。

Redis

什么是緩存穿透
在正常情況下,查詢的數據都存在,如果請求一個不存在的數據,也就是緩存和數據庫都查不到這個數據,每次都會去數據庫查詢,機會造成數據庫壓力增大。
解決:
1、緩存空值,即就是將緩存中沒有的key設置為對應只null。
2、布隆過濾器(BloomFilter),它類似于一個Hbase set用來判斷某個元素(key)是否存在于集合中。我們把數據的key放在布隆過濾器中,每次查詢都會進行判斷,如果沒有就直接返回null,它沒有刪除操作,可以結合緩存空值。
什么是緩存雪崩
當某一時刻發送大規模的緩存失效情況,比如緩存服務器宕機了。
解決:
1、利用集群,降低服務宕機的概率。
2、ehcache本地緩存+Hystrix限流和降級。
二級緩存本地考慮redis Cluster完全不可以的時候,可以支持一陣。
使用Hystrix進行限流或降級,如1秒5000請求,設置為2000請求,其余走邏輯流。
什么是緩存擊穿
在高并發的情況下,大量的請求同時查詢同一個key時,此時這個key正好失效了,就會導致同一時間這些請求都會去查詢數據庫,會造成某一時刻數據庫請求量過大。
解決方法:
1、采用分布式鎖
只有拿到鎖的第一個請求(線程)去請求數據庫,然后插入緩存,當然每次拿到鎖的時候都要去查詢一下緩存有沒有。

解決熱點數據集中失效問題

對于熱點數據,當緩存失效以后會存在大量的請求過來,然后打到數據庫去,從而導致數據庫奔潰的情況。
解決方法:
	1、設置不通失效時間
	2、采用緩存擊穿辦法,加鎖
	3、設置緩存永不失效,就是采用定時任務對快要失效的緩存進行更新緩存和失效時間。

以上就是關于“springMVC和spring的概念有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肥西县| 绥德县| 凯里市| 锡林郭勒盟| 宜城市| 赫章县| 碌曲县| 工布江达县| 南皮县| 类乌齐县| 潮州市| 襄樊市| 和林格尔县| 青阳县| 乌鲁木齐县| 拉萨市| 湖口县| 沙湾县| 蒙阴县| 申扎县| 仁布县| 浏阳市| 南昌市| 梨树县| 板桥市| 犍为县| 宝应县| 军事| 奉节县| 肇源县| 沙田区| 大冶市| 达尔| 东阿县| 长顺县| 汝州市| 孟连| 鄢陵县| 潼南县| 阿合奇县| 上杭县|