Spring 3.0依赖注入的最小JAR

时间:2010-10-29 16:38:34

标签: java spring dependency-injection spring-3

this question regarding an earlier Spring version类似,应用程序仅使用Spring 3.0 依赖注入所需的最小依赖项是什么?应用程序上下文仅由XML配置。 Spring依赖于日志记录框架,因此假设我已经将这些JAR包含在日志记录中:

  • JCL-过slf4j.jar
  • 的logback-classic.jar
  • 的logback-core.jar添加
  • SLF4J-api.jar文件

3 个答案:

答案 0 :(得分:16)

如另一个答案所述,maven是真正的道路。如果;但是,你选择流浪,然后根据“1.2.1核心容器”的部分 Spring Reference我相信这些是核心弹簧功能的最小罐子:

  • org.springframework.asm-3.0.4.RELEASE.jar
  • org.springframework.beans-3.0.4.RELEASE.jar
  • org.springframework.context-3.0.4.RELEASE.jar
  • org.springframework.core-3.0.4.RELEASE.jar
  • org.springframework.expression-3.0.4.RELEASE.jar

已编辑:使用维基格式对列表进行排序。

针对Spring 3.2进行了更新:似乎asm不是3.2发行版的一部分。以下是Spring 3.2的列表:

  • 弹簧豆-3.2.0.RELEASE.jar
  • 弹簧上下文3.2.0.RELEASE.jar
  • 弹簧芯3.2.0.RELEASE.jar
  • 弹簧表达-3.2.0.RELEASE.jar

答案 1 :(得分:5)

建立这个的最佳和可靠的方法是创建一个maven项目并为spring-core,spring-bundle和spring-context添加依赖项。当你构建/安装这个项目时,maven会做必要的事情。

答案 2 :(得分:0)

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>

然后,如果您打算通过xml配置来配置Spring(或者如果仅打算对测试工具使用Spring xml配置,则可以使用测试范围)在build / dependency部分中导入bean,上下文和核心以及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>