【Spring】(1)Spring 簡單介紹

一、Spring 簡介

Spring框架是由於軟件開發的複雜性而創建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限於服務器端的開發。從簡單性、可測試性和松耦合性角度而言,絕大部分Java應用都可以從Spring中受益。

  • 目的:解決企業應用開發的複雜性
  • 功能:使用基本的JavaBean代替EJB,並提供了更多的企業應用功能
  • 範圍:任何Java應用

Spring是一個輕量級控制反轉(IoC)和麪向切面(AOP)的容器框架。

Spring Framework:我目前還沒有查到爲什麼Spring叫做Spring,準確來說應該是沒有查到Spring 的寓意。我個人簡單理解理解爲春天,軟件行業的春天。

在沒有Spring 之前,前輩們用的是EJB,不過Spring相比EJB要簡單些,後來 Spring 就代替了 EJB。 Spring 可用範圍爲任何Java應用,注意不僅僅只是Java Web喲。

詳情:spring框架(百度百科):https://baike.baidu.com/item/spring%E6%A1%86%E6%9E%B6/2853288

二、Spring 歷史

Spring是一個開源框架,它由Rod Johnson創建。

Rod Johnson這位澳大利亞的Java大師,很難想象,他除了在悉尼大學獲得計算機學士學位以外還獲得了音樂的博士學位,或許正是他音樂的細胞成就了Spring獨特簡約和優雅。

Rod Johnson在2002年編著的《Expert One-to-One J2EE Design and Development》一書中,對EJB框架的臃腫、低效、脫離現實等種種現狀提出了質疑,並積極尋求革新之道。以此書爲指導思想,他編寫了interface21框架,這是一個力圖衝破Java EE傳統開發困境,從實際需求出發,着眼於輕便、靈巧,易於開發、測試和部署的輕量級開發框架。Spring框架即以interface21框架爲基礎,經過重新設計,並不斷豐富其內涵,於2004年3月24日,發佈了Spring 1.0正式版

詳情:Spring 源碼分析(一) 邁向Spring之路:https://blog.csdn.net/paullinjie/article/details/56713217

三、Spring 優點

Spring是一個 輕量級控制反轉(IoC)和麪向切面(AOP)容器 框架。

輕量級定義:輕量級框架是相對於重量級框架的一種設計模式:輕量級框架不帶有侵略性API,對容器也沒有依賴性,易於進行配置,易於通用,啓動時間較短。這是輕量級框架相對於重量級框架的優勢。

如果使用某個框架需要繼承或者實現框架裏面的類和接口,就說這個框架具有侵入性。

spring 是輕量級且非入侵式的框架,引入了spring不會對原來項目產生任何影響。不需要繼承或實現框架裏面的接口和類。

入侵式:比如使用struts框架時,需要繼承struts的類。會對原來的代碼產生影響,這就是侵入式。

四、Spring 特徵

核心技術: dependency injection, events, resources, i18n, validation, data binding, type conversion, SpEL, AOP.

測試: mock objects, TestContext framework, Spring MVC Test, WebTestClient.

數據訪問: transactions, DAO support, JDBC, ORM, Marshalling XML.

Spring MVC and Spring WebFlux web frameworks.

集成: remoting, JMS, JCA, JMX, email, tasks, scheduling, cache.

語言: Kotlin, Groovy, dynamic languages.

以上摘自 官網 原話。

五、Spring 核心

我們最主要先學習 IoC(控制反轉) 和 AOP(面向切面)

1.Spring 框架模塊

在這裏插入圖片描述

官網 下的 I. Overview of Spring Framework 的 2.2. Framework Modules中可以看到。

注意,找到這張圖需要是Spring 4的文檔,並非 Spring 5。

六、Spring 擴展

Spring Boot:一個可以快速開發的框架,基於Spring Boot可以快速的開發單個微服務。

Spring Cloud:是基於Spring Boot實現的。

現在大部分公司都是使用Spring Boot進行快速開發,學習Spring Boot的前提是,掌握Spring 和Spring MVC。

七、Spring 下載地址

Spring 的下載地址。

官方下載地址:https://repo.spring.io/release/org/springframework/spring/

github下載地址:https://github.com/spring-projects/spring-framework/releases

maven地址:
我們只用導入spring-webmvc就行了,因爲導入這個時,他會幫我們webmvc依賴的jar也導入。

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.5.RELEASE</version>
        </dependency>

參考

Spring 4 官網:https://docs.spring.io/spring/docs/4.3.26.RELEASE/spring-framework-reference/htmlsingle/#overview-modules

Spring 5 官網:https://docs.spring.io/spring/docs/5.2.5.RELEASE/spring-framework-reference/core.html#spring-core


相關

我的該分類的其他相關文章,請點擊:【Spring + Spring MVC + MyBatis】文章目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章