1. 程式人生 > >spring整理(一)元件整合

spring整理(一)元件整合

Spring

      簡單來說,Spring 框架是一個分層架構,由 7 個定義良好的模組組成的輕量級開源框架。Spring模組構建在核心容器之上,核心容器定義了建立、配置和管理 bean 的方式,它是一個基於IOC/DI和AOP的構架多層J2EE系統的框架。可以說Spring是企業應用開發的“一站式”選擇,並貫穿表現層,業務層及持久層。從很久以前的Struts+Spring+Hibernate,到SpringMVC+Spring+Mybatis,再到SpringBoot,再到最近很“火”的SpringCloud,spring從最初的粘合劑已經迅速蔓延到從框架到架構的每個角落裡。

Spring風景線
  • Spring IOC/DI

    • 這種工廠模式貫穿整個工程
  • Spring MVC

    • 一般作為JEE專案的前層,負責接收前端傳來的資訊並傳遞給中層
  • Spring AOP

    • 通過代理模式控制著應用對資料庫請求的安全性,而且還可以通過這種它在程式中形成自定義的應用中層屏障,比如程序監控、快取層良性融合,帶給我們的好處數不勝數
  • Spring Dao

    • 為Mysql、oracle、mongo、redis及ES等資料庫提供API支援,如mybatis就是通過對Spring JDBC的封裝而成

    小結
    : 以上就是曾風靡一時,一直到現在還在有很多公司在用的SSM框架的核心配件

  • Spring Boot

    • 小編沒記錯的話2015年第一版的SpringBoot 釋出,引起渲染大波,內嵌的JEE容器,簡潔的配置,一個jar即可直接啟動一個專案,對短週期的中小型專案來說,無疑是個充滿無限誘惑的選擇。實際上,Spring Boot是SSH(Spring MVC + Spring AOP + Hibernate)的簡化版本,將一些配置簡化,再將WEB容器嵌入專案內部就是Spring Boot
  • Spring Cloud

    • Spring Cloud是一種架構,建立在Spring Boot框架的基礎之上,也就是當下比較流行的微服務架構,比SOA的聚合度更高,從SOA的長連線變成了Restful的短連線,但在各個應用的介面處統一添加了斷路器等優化措施之後,這種架構短連線的弊端也幾乎被剔除掉了
  • Spring Portfolio(spring一個通用的工具包)

    • Spring Cache

      • Spring快取是一個非常實用的元件,通過簡單配置即可通過註解在函式前後生成攔截器並對其入參與返回值進行攔截整合,可整合Redis,Ecache或直接快取在JVM中
    • Spring RPC

      • RMI:基於RMI協議,使用java的序列化機制,客戶端服務端都必須時java,RMI協議不被防火牆支援,只能在內網使用

      • Hessian:基於HTTP協議,使用自身的序列化機制,客戶端服務端可以是不同的語言,HTTP協議被防火牆支援,可被外網訪問

      • HttpInvoker:基於HTTP協議,使用java的序列化機制,客戶端服務端都必須時java,必須使用spring,HTTP協議被防火牆支援,可被外網訪問

      • web service:基於SOAP協議,使用自身的序列化機制,客戶端服務端可以是不同的語言,HTTP+XML(WSDL語法)協議被防火牆支援,可被外網訪問

    • Spring Web Flow

      • Web Flow需搭配JSP實現工作流,目前已經不再維護,在當下眾多WEB專案前後端分離的大環境下,它的前後端不分離成為侷限性
    • Spring Security

      • 這是一套糾結的元件,它將登入的元件進行了封裝,在小型的OA專案中可以發揮它的亮點,但是在中大型專案中是不能滿足要求也不夠安全的