与这个关于早期 Spring 版本的问题类似,应用程序仅使用 Spring 3.0依赖注入所需的最低依赖是什么?应用程序上下文将仅由 XML 配置。Spring 依赖于一个日志框架,所以假设我已经包含了这些 JAR 用于日志:
- jcl-over-slf4j.jar
- logback-classic.jar
- logback-core.jar
- slf4j-api.jar
与这个关于早期 Spring 版本的问题类似,应用程序仅使用 Spring 3.0依赖注入所需的最低依赖是什么?应用程序上下文将仅由 XML 配置。Spring 依赖于一个日志框架,所以假设我已经包含了这些 JAR 用于日志:
如另一个答案所述,maven 是真正的路径。如果; 但是,您选择迷路,然后根据 Spring Reference的“1.2.1 Core Container”部分,我相信这些是核心弹簧功能的最小罐子:
已编辑:使用 wiki 格式对列表进行排序。
为 Spring 3.2 更新:似乎 asm 不是 3.2 发行版的一部分。以下是 Spring 3.2 的列表:
建立它的最佳且可靠的方法是创建一个 Maven 项目并添加对 spring-core、spring-bundle 和 spring-context 的依赖项。当你构建/安装这个项目时,maven 会做必要的。
YMMV,但我会执行以下操作:
首先,在依赖管理部分导入 Spring BOM,以确保基线依赖版本:
<properties>
<spring.version>3.2.6.RELEASE</spring.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${spring.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
然后,在 build/dependency 部分,如果您打算通过 xml 配置配置 Spring(或者如果您只打算将 Spring xml 配置用于您的测试工具,则使用测试范围)导入 beans、context 和 core 以及 EL。
注意:此示例适用于 3.2.x。如果需要在 3.2.x 之前使用 Spring,则需要显式包含 asm。一种可能性是使用仅针对低于 3.2.x 的 Spring 版本激活的配置文件。
<build>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<!-- inlines asm since 3.2.x -->
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<scope>test</scope><!-- or compile/provided if used beyond testing -->
</dependency>
</dependencies>
</build>