欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring 的 Maven 依赖

程序员文章站 2022-07-15 11:16:36
...

遇到的问题

由于疫情原因只能在家中开热点,高不成低不就的。然后呢想玩一下 Dubbo,官网的描述说是基于 Spring 的:

Dubbo 采用全 Spring 配置方式,透明化接入应用,对应用没有任何 API 侵入,只需用 Spring 加载 Dubbo 的配置即可,Dubbo 基于 Spring 的 Schema 扩展 进行加载。

第一个障碍:中国移动的网络乃至学校的移动 EDU 很多网站都进不去(其中包括但不限于 *、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 的框架支持的方式,还希望多多交流哇

相关标签: 问题经历