Spring 的 Maven 依赖
遇到的问题
由于疫情原因只能在家中开热点,高不成低不就的。然后呢想玩一下 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 的框架支持的方式,还希望多多交流哇
上一篇: 题1281、整数的各位积和之差
推荐阅读
-
spring data jpa碰到的坑
-
Apache shiro的简单介绍与使用教程(与spring整合使用)
-
你知道@RequestMapping的name属性有什么用吗?【享学Spring MVC】
-
Spring Cloud Gateway的动态路由怎样做?集成Nacos实现很简单
-
spring定时任务(scheduler)的串行、并行执行实现解析
-
Spring Boot 2.X整合Spring-cache(让你的网站速度飞起来)
-
动手造*:实现一个简单的依赖注入(二) --- 服务注册优化
-
ubuntu16.04下安装openssh-server报依赖错误的完美解决方法(非常不错)
-
SpringBoot 源码解析 (七)----- Spring Boot的核心能力 - SpringBoot如何实现SpringMvc的?
-
SpringBoot 源码解析 (六)----- Spring Boot的核心能力 - 内置Servlet容器源码分析(Tomcat)