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 的框架支持的方式,还希望多多交流哇

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