Spring 的 Maven 依賴

遇到的問題

由於疫情原因只能在家中開熱點,高不成低不就的。然後呢想玩一下 Dubbo,官網的描述說是基於 Spring 的:

Dubbo 採用全 Spring 配置方式,透明化接入應用,對應用沒有任何 API 侵入,只需用 Spring 加載 Dubbo 的配置即可,Dubbo 基於 Spring 的 Schema 擴展 進行加載。

第一個障礙:中國移動的網絡乃至學校的移動 EDU 很多網站都進不去(其中包括但不限於 StackOverflow、DockerHub、GitHub Pages),甚至連進 Spring 官網和 GitHub 都完全靠運氣(相信沒有比這更大的坑)。理論上說是可以靠牆的,但是······

第二個障礙:在 idea2019.3 版本中創建項目時,選擇 Spring 項目會以 lib 目錄的形式導入依賴(情理之中),選擇 Maven 項目然後添加框架的支持時沒有 Spring 的選項(意料之外)。

如果說之前沒了解過 Maven 的 Spring 依賴的確是不科學的,但很久沒接觸“原生” Spring 了卻又是不爭的事實。或者說記錄這篇博客有兩個個目的(主要原因是教主嚴重強迫傾向,沒有現成的模板不甘心):

一:避免以後再爲同樣的沒有任何意義的事情花費時間(而且指不定哪天學校就會有配置“原生” Spring 的課或者作業了,配置一套支持完整 CRUD 的基於“原生” Spring 的 SSM 環境對教主本人來說,如果沒有參考模板那還是比較喫力的)。

二:以 lib 目錄的方式導入依賴畢竟還是有其侷限性,而 idea 中找不到“原生” Spring 框架的支持要麼是形勢所趨,要麼是別的某個名字而我還沒發現。

Jar包

Spring 的最少組件依賴是 spring-context,最常用的也不多幾個。教主利用 3G聯通熱點以創建 Spring 項目的方式得到了該模板有那些組件依賴,然後添加 Maven 的支持來在 pom.xml 中引入。

pom.xml

    <properties>
        <aopalliance.version>1.0</aopalliance.version>
        <commons-logging.version>1.2</commons-logging.version>
        <spring.version>5.2.2.RELEASE</spring.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>aopalliance</groupId>
            <artifactId>aopalliance</artifactId>
            <version>${aopalliance.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>${commons-logging.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-instrument</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-messaging</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-oxm</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>

PS

如果有能在 Maven 中直接添加 Spring 的框架支持的方式,還希望多多交流哇

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