Spring介紹

来源:https://www.cnblogs.com/huainian/archive/2018/05/08/9005994.html
-Advertisement-
Play Games

Spring介紹 Spring的核心是一個輕量級(Lightweight)的容器(Container),它是實現IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架,並提供AOP(Aspect-oriented programming)概念的實現方式;提 ...


Spring介紹

Spring的核心是一個輕量級(Lightweight)的容器(Container),它是實現IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架,並提供AOP(Aspect-oriented programming)概念的實現方式;提供對持久層(Persistence)、事物(Transcation)的支持;提供MVC Web框架的實現,並對一些常用的企業服務API(Application Interface)提供一致的模型封裝,是一個全方位的應用程式框架(Application Framework),除此之外,對現存的各種框架(Structs、JSF、Hibernate、Ibatis、Webwork等),Spring也提供了與他們相整合的方案。 → 回答解析: 對於面試者回答什麼是Spring,這個問題占6分分值,分值點分佈: 1、Spring的核心是一個輕量級(Lightweight)的容器(Container)。 輕量級:程式實現不是很複雜,代碼不是很多,占用資源不是很多,沒有侵入性; 容器:可以容納對象,並且可以控制對象的生命周期; 2、Spring是實現IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架。 IOC(Inversion of Control 控制反轉):對象創建責任的反轉(重點,核心); 3、Spring提供AOP(Aspect-oriented programming)概念的實現方式。 Aop(Aspect Oriented Programming):一種面向橫切麵編程的思想方式,可以進行功能性擴展。 4、Spring提供對持久層(Persistence)、事物(Transcation)的支持。 5、Spring供MVC Web框架的實現,並對一些常用的企業服務API(Application Interface)提供一致的模型封裝。 6、Spring提供了對現存的各種框架(Structs、JSF、Hibernate、Ibatis、Webwork等)相整合的方案。 總之,Spring是一個全方位的應用程式框架。

Spring要學習的知識點如下:

 

 

 

Spring的主要功能如下:

 

這裡邊主要包括了Spring自身的功能,還有可以和其框架結合的一些框架,通過這張圖可以看出,Spring框架和其他框架的集成能力是非常強的。

Spring的優點和缺點

 優點:
	輕量級的容器框架,沒有侵入性
	IoC更加容易組合對象之間的關係,通過面向介面進行編程,可以低耦合開發。
	易於本地測試(Junit單元測試,不用部署伺服器)
	AOP可以更加容易的進行功能擴展,遵循OCP開發原則。
	Spring預設對象的創建為單例的,我們不需要再使用單例的設計模式來開發單體類。
	Spring的集成很強大,另外可以對其他框架的配置進行一元化管理。
	Spring的聲明式事務的方便使用。
      缺點:
	就是開發對設計要求較高,集成測試麻煩,對框架有一定的依賴性。
 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一個前端在調試本地頁面時,總會有些稀奇古怪的需求,比如產品立刻要看你的頁面效果,而此時有沒有上線環境折騰給他看,那此時通過內網穿透的方式,實時把你的項目生成一個線上鏈接丟給他,讓他去找那一像素的bug! ...
  • 由於最近在vue-cli生成的webpack模板項目的基礎上寫一個小東西,開發過程中需要改動到build和config裡面一些相關的配置,所以剛好趁此機會將所有配置文件看一遍,理一理思路,也便於以後修改配置的時候不會“太折騰”。 一、文件結構 本文主要分析開發(dev)和構建(build)兩個過程涉 ...
  • 1. 下載並安裝 node.js 參照 Less 的用法 2. 新建一個項目 3. 控制台進入該項目目錄,初始化 根目錄中自動生成了package.json 4、全局安裝webpack和webpack-cli 5、在項目中安裝webpack和webpack-cli 6. 安裝babel 7. 編輯 ...
  • 模塊化原則倡導利用集中和分解等手法創建高內聚、低耦合的抽象。 為了理解模塊化的含義及其很重要的原因,來看看一本書的極端情況。假設一本書像講一個長故事一樣闡述其中的內容,中間沒有任何停頓,也沒有章節。試問面對這樣的圖書,讀者將作何反應呢?我估計心中一定有千萬隻草泥馬在崩騰吧。如果這本書根據內容分為不同 ...
  • 一.抽象類 在某些情況下,父類知道其子類應該包含哪些方法,但是無法確定這些子類如何實現這些方法。這種有方法簽名但是沒有具體實現細節的方法就是抽象方法。有抽象方法的類只能被定義成抽象類,抽象方法和抽象類必須使用abstract修飾。抽象類里可以沒有抽象方法。 1.1 抽象類和抽象方法 抽象類和抽象方法 ...
  • 一、詳解TDD 1.1、TDD概念 :Test Drived Develop 測試驅動開發是敏捷開發中的一項核心實踐和技術,也是一種方法論。TDD的原理是在開發功能代碼之前,編寫單元測試用例代碼,測試代碼決定先編寫什麼產品代碼。TDD雖是敏捷方法的核心實踐,但不只是適用於XP,同樣可以適用於其他開發 ...
  • 本書是Eric Evans對他自己寫的《領域驅動設計-軟體核心複雜性應對之道》的一本字典式的參考書,可用於快速查找《領域驅動設計》中的諸多概念及其簡明解釋。 DDD到目前為止知道的人越來越多了,正巧今天在自己的書單中翻出這本塵封已久的電子版,網上查了下也沒有人來翻譯,所以近期就準備把這個本書翻譯一下 ...
  • 項目開發中,大家都會使用日誌框架(LogBack, log4j , java.util.logging 等)。下麵來簡單的瞭解一下日誌框架的大體設計思路。 類圖: ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...