怎樣理解ssh 、ssm 、spring 、springmvc 、spring boot 、spring cloud


  • 怎樣理解ssh 、ssm 、spring 、springmvc 、spring boot 、spring cloud
  • ssh :SSH是一個縮寫,是struts+spring+hibernate三個框架整合在一起.
  • ssm :SSM其實指的是3個框架,分別代表了不同的含義,SSM是一個縮寫,是Spring+SpingMVC+mybatis三個框架整合。SSM框架,是三層結合所成的框架,分別是,Spring,SpringMVC,MyBatis所組成。Spring依賴注入來管理各層,面向切面編程管理事務,日志和權限。SpringMVC代表了Model,View,Controller接收外部請求,進行分發和處理。Mybatis是基於jdbc的框架,主要用來操作數據庫,並且將業務實體和數據表聯系起來。
  • spring :Spring目的就是讓對象與對象(模塊與模塊)之間的關系沒有通過代碼來關聯,都是通過配置類說明管理的(Spring根據這些配置 內部通過反射去動態的組裝對象) 要記住:Spring是一個容器,凡是在容器里的對象才會有Spring所提供的這些服務和功能。spring的定義不管是從官方仍是市面上已經不少可以清晰明了的作出解釋了。我姑且簡單定義它為一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器。Spring提供了對Junit4的支持,可以通過注解方便的測試Spring程序。
  • springIoC :IoC:IOC是Inversion of Control的縮寫,多數書籍翻譯成“控制反轉”,還有些書籍翻譯成為“控制反向”或者“控制倒置”。
    概念:控制權由對象本身轉向容器;由容器根據配置文件去創建實例並創建各個實例之間的依賴關系  
    核心:bean工廠;在Spring中,bean工廠創建的各個實例稱作bean  

    簡單理解:它是動態注入,讓一個對象的創建不用new了,可以自動的生產,這其實就是利用java里的反射,反射其實就是在運行時動態的去創建、調用對象,Spring就是在運行時,跟xml Spring的配置文件來動態的創建對象,和調用對象里的方法的 。

    面向對象方法設計的軟件系統中,它的底層實現都是由N個對象組成的,所有的對象通過彼此的合作,最終實現系統的業務邏輯。
  • IOC理論提出的觀點大體是這樣的:借助於“第三方”實現具有依賴關系的對象之間的解耦
  • IOC的別名:依賴注入(DI) 他的這個答案,實際上給出了實現IOC的方法:注入。所謂依賴注入,就是由IOC容器在運行期間,動態地將某種依賴關系注入到對象之中。
  • 舉一個生活中的例子,來幫助理解依賴注入的過程。例如:USB接口和USB設備,電腦主機就從外置硬盤上讀取文件,掛接外部設備的權力由我作主,即控制權歸我,至於USB接口掛接的是什么設備,電腦主機是決定不了,它只能被動的接受。這就是常見的一個依賴注入的例子,這個過程中,“我”就相當於ioc容器
  • AOP(Aspect-Oriented Programming): 面向方面編程 
  • 代理的兩種方式:靜態代理: a.針對每個具體類分別編寫代理類;  b. 針對一個接口編寫一個代理類;
  • 動態代理:針對一個方面編寫一個InvocationHandler,然后借用JDK反射包中的Proxy類為各種接口動態生成相應的代理類
  • AOP(Aspect Oriented Programming),是面向切面編程的技術。AOP基於IoC基礎,是對OOP的有益補充。
  • 通用邏輯則使用AOP技術進行橫向切入,由專人去處理這些通用邏輯,會使得任務簡單明了,提高開發和調試的效率。
  • 實現aop的兩種方式:a.基於XML配置 ,切面在applicationContext.xml中的配置。b.基於注解配置 ,在applicationContext.xml中配置
  • springmvc :SpingMVC是基於Servlet封裝的 Web 開發框架,SpringMVC框架是以請求為驅動,圍繞Servlet設計,將請求發給控制器,然后通過模型對象,分派器來展示請求結果視圖。其中核心類是DispatcherServlet,它是一個Servlet,頂層是實現的Servlet接口。SpringMVC 是類似於 Struts2 的一個 MVC 框架,在實際開發中,接收瀏覽器的請求響應,對數據進行處理,然后返回頁面進行顯示,但是上手難度卻比 Struts2 簡單。而且由於 Struts2 所暴露出來的安全問題,SpringMVC 已經成為了大多數企業優先選擇的框架。
  • 業內常見的mvc模式的開發框架有Struts1,Struts2等 spring做為專業的開發web項目的開源框架,springMvc為內部的一個模塊環節,一樣采起mvc設計模式。 因此在使用spring開發web項目時,做為核心環節的MVC可使用struts1/struts2/springmvc
  • MVC和三層架構的區別 :
  • M 即Model(模型層),主要負責處理業務邏輯以及數據庫的交互
  • V 即View(視圖層),主要負責顯示數據和提交數據
  • C 即Controller(控制層),主要是永作輔助捕獲請求並控制請求轉發
  • 三層

  • UI界面層、BLL業務邏輯層、DAL數據訪問層

     

  • 三層是基於業務邏輯來分的,而mvc是基於頁面來分的

  • MVC模式是一種復合設計模式,一種解決方案

  • 三層是種軟件架構,通過接口實現編程

  • 三層模式是體系結構模式,MVC是設計模式

  • 三層模式又可歸於部署模式,MVC可歸於表示模式

  • spring boot :spring boot 是基於是Spring的擴展,解決了Spring 中XML文件配置還內嵌了容器,使用spring整合基礎框架做為項目架構時,大多數初級人員在搭建項目時花費了不少時間也未必能搭建明白。 spring-boot就是為了解決開發人員這個痛點而誕生的,說白了就是把之前的手動配置的過程自動化封裝了,提供默認的配置。Spring 最初利用“工廠模式”( DI )和“代理模式”( AOP )解耦應用組件。你們以為挺好用,因而按照這種模式搞了一個 MVC 框架(一些用 Spring 解耦的組件),用開發 web 應用( SpringMVC )。而后有發現每次開發都要搞不少依賴,寫不少樣板代碼很麻煩,因而搞了一些懶人整合包( starter ),這套就是 Spring Boot 。
  • Spring Boot其實不是什么新的框架,它默認配置了不少框架的使用方式,就像 maven整合了全部的jar包,Spring Boot整合了全部的框架。
  • Spring Boot的核心思想就是約定大於配置,一切自動完成。采用 Spring Boot能夠大大的簡化你的開發模式,全部你想集成的經常使用框架,它都有對應的組件支持。
  • spring cloud :springcloud是基於springboot構建的微服務架構,Spring Boot是 Spring的一套快速配置腳手架,能夠基於 Spring Boot快速開發單個微服務, SpringCloud是一個基於 Spring Boot實現的雲應用開發工具; Spring Boot專一於快速、方便集成的單個微服務個體,Spring Cloud關注全局的服務治理框架;
  • 上來直接學習spring boot,springcloud可能不容易理解,
  • 要先學習Servlet,Spring,SpingMVC,SpringJDBC,hibernate,mybatis,spring boot,springcloud,struts和struts2基本上沒人用了,可以用於擴展,感興趣的可以學習一下.
  • 參考鏈接 :https://blog.csdn.net/wwwguojiang/article/details/89350355


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM