• Spring4.x所有Maven依赖


    Spring4.x所有Maven依赖

    复制代码
         定义Spring版本号
    1 <properties> 2   <org.springframework.version>4.3.7.RELEASE</org.springframework.version> 3 </properties>
    4 <dependencies> 5 <!-- spring start --> 6 <dependency> 7 <groupId>org.springframework</groupId> 8 <artifactId>spring-aop</artifactId> 9 <version>${org.springframework.version}</version> 10 </dependency> 11 <dependency> 12 <groupId>org.springframework</groupId> 13 <artifactId>spring-aspects</artifactId> 14 <version>${org.springframework.version}</version> 15 </dependency> 16 <dependency> 17 <groupId>org.springframework</groupId> 18 <artifactId>spring-beans</artifactId> 19 <version>${org.springframework.version}</version> 20 </dependency> 21 <dependency> 22 <groupId>org.springframework</groupId> 23 <artifactId>spring-context</artifactId> 24 <version>${org.springframework.version}</version> 25 </dependency> 26 <dependency> 27 <groupId>org.springframework</groupId> 28 <artifactId>spring-context-support</artifactId> 29 <version>${org.springframework.version}</version> 30 </dependency> 31 <dependency> 32 <groupId>org.springframework</groupId> 33 <artifactId>spring-core</artifactId> 34 <version>${org.springframework.version}</version> 35 </dependency> 36 <dependency> 37 <groupId>org.springframework</groupId> 38 <artifactId>spring-expression</artifactId> 39 <version>${org.springframework.version}</version> 40 </dependency> 41 <dependency> 42 <groupId>org.springframework</groupId> 43 <artifactId>spring-instrument</artifactId> 44 <version>${org.springframework.version}</version> 45 </dependency> 46 <dependency> 47 <groupId>org.springframework</groupId> 48 <artifactId>spring-instrument-tomcat</artifactId> 49 <version>${org.springframework.version}</version> 50 </dependency> 51 <dependency> 52 <groupId>org.springframework</groupId> 53 <artifactId>spring-jdbc</artifactId> 54 <version>${org.springframework.version}</version> 55 </dependency> 56 <dependency> 57 <groupId>org.springframework</groupId> 58 <artifactId>spring-jms</artifactId> 59 <version>${org.springframework.version}</version> 60 </dependency> 61 <dependency> 62 <groupId>org.springframework</groupId> 63 <artifactId>spring-messaging</artifactId> 64 <version>${org.springframework.version}</version> 65 </dependency> 66 <dependency> 67 <groupId>org.springframework</groupId> 68 <artifactId>spring-orm</artifactId> 69 <version>${org.springframework.version}</version> 70 </dependency> 71 <dependency> 72 <groupId>org.springframework</groupId> 73 <artifactId>spring-oxm</artifactId> 74 <version>${org.springframework.version}</version> 75 </dependency> 76 <dependency> 77 <groupId>org.springframework</groupId> 78 <artifactId>spring-test</artifactId> 79 <version>${org.springframework.version}</version> 80 </dependency> 81 <dependency> 82 <groupId>org.springframework</groupId> 83 <artifactId>spring-tx</artifactId> 84 <version>${org.springframework.version}</version> 85 </dependency> 86 <dependency> 87 <groupId>org.springframework</groupId> 88 <artifactId>spring-web</artifactId> 89 <version>${org.springframework.version}</version> 90 </dependency> 91 <dependency> 92 <groupId>org.springframework</groupId> 93 <artifactId>spring-webmvc</artifactId> 94 <version>${org.springframework.version}</version> 95 </dependency> 96 <dependency> 97 <groupId>org.springframework</groupId> 98 <artifactId>spring-webmvc-portlet</artifactId> 99 <version>${org.springframework.version}</version> 100 </dependency> 101 <dependency> 102 <groupId>org.springframework</groupId> 103 <artifactId>spring-websocket</artifactId> 104 <version>${org.springframework.version}</version> 105 </dependency> 106 <!-- spring end --> 107 </dependencies>
    复制代码

    注:默认maven仓库可能速度不好,可以用阿里云的源

    将mirror拷贝到 ~/.m2/settings.xml配置文件中即可(记得在eclipse中指定配置信息)

    复制代码
     1   <mirrors>
     2     <!-- mirror
     3      | Specifies a repository mirror site to use instead of a given repository. The repository that
     4      | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     5      | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     6      |
     7     <mirror>
     8       <id>mirrorId</id>
     9       <mirrorOf>repositoryId</mirrorOf>
    10       <name>Human Readable Name for this Mirror.</name>
    11       <url>http://my.repository.com/repo/path</url>
    12     </mirror>
    13      -->
    14         <mirror>
    15           <id>alimaven</id>
    16           <mirrorOf>central</mirrorOf>
    17           <name>aliyun maven</name>
    18           <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    19         </mirror>
    20   </mirrors>
    复制代码

    上边那么多spring不用全导入,那样很臃肿,因为maven会自动加载所需要的依赖。

    接下来的内容转自:http://www.cnblogs.com/ywlaker/p/6136625.html

    很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪些spring的依赖,只有拷贝,其实,当初我就是这么干的!

      spring的jar包只有20个左右,每个都有相应的功能,一个jar还可能依赖了若干其他jar,所以,搞清楚它们之间的关系,配置maven依赖就可以简洁明了

    接下来我们以spring 3.2.17.RELEASE版本为例,介绍spring框架结构,spring 4稍有不同,将在最后介绍

      spring官网给出了一张spring3的结构图

      图中将spring分为5个部分:core、aop、data access、web、test,图中每个圆角矩形都对应一个jar,如果在maven中配置,所有这些jar的“groupId”都是“org.springframework”,每个jar有一个不同的“artifactId”,另外,“instrumentation”有两个jar,还有一个“spring-context-support”图中没有列出,所以spring3的jar包一共是19个

      下面介绍这5个部分的jar以及依赖关系

    core

      core部分包含4个模块

    1. spring-core:依赖注入IoC与DI的最基本实现
    2. spring-beans:Bean工厂与bean的装配
    3. spring-context:spring的context上下文即IoC容器
    4. spring-expression:spring表达式语言

      它们的完整依赖关系

      因为spring-core依赖了commons-logging,而其他模块都依赖了spring-core,所以整个spring框架都依赖了commons-logging,如果有自己的日志实现如log4j,可以排除对commons-logging的依赖,没有日志实现而排除了commons-logging依赖,编译报错

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.17.RELEASE</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    aop

      aop部分包含4个模块

    1. spring-aop:面向切面编程
    2. spring-aspects:集成AspectJ
    3. spring-instrument:提供一些类级的工具支持和ClassLoader级的实现,用于服务器
    4. spring-instrument-tomcat:针对tomcat的instrument实现

      它们的依赖关系

    data access

      data access部分包含5个模块

    1. spring-jdbc:jdbc的支持
    2. spring-tx:事务控制
    3. spring-orm:对象关系映射,集成orm框架
    4. spring-oxm:对象xml映射
    5. spring-jms:java消息服务

      它们的依赖关系

    web

      web部分包含4个模块

    1. spring-web:基础web功能,如文件上传
    2. spring-webmvc:mvc实现
    3. spring-webmvc-portlet:基于portlet的mvc实现
    4. spring-struts:与struts的集成,不推荐,spring4不再提供

      它们的依赖关系

    test

      test部分只有一个模块,我将spring-context-support也放在这吧

    1. spring-test:spring测试,提供junit与mock测试功能
    2. spring-context-support:spring额外支持包,比如邮件服务、视图解析等

      它们的依赖关系

      到这里,spring3的介绍就完了,看着这些图我相信你在maven中配置spring依赖时不会再混乱了

      下面介绍spring4,与spring3结构基本相同,下面是官网给出的结构图

      可以看到,图中去掉了spring3的struts,添加了messaging和websocket,其他模块保持不变,因此,spring4的jar有20个

    1. spring-websocket:为web应用提供的高效通信工具
    2. spring-messaging:用于构建基于消息的应用程序

      它们的依赖关系

    总结:Spring需要的Maven依赖

    1、普通项目(非web)

      导入spring-support、spring-aspecs、spring-orm、spring-test

    2、web项目

      导入spring-webmvc、spring-aspecs、spring-orm、spring-test

    注意:以上只适合单个maven项目使用,如果是分布式系统,父工程统一管理j依赖包版本,至少需要以下几个:

      spring-support、spring-aspects、spring-orm、spring-web、spring-webmvc

      可选:spring-test、spring-oxm、spring-jms、spring-messaging

    最好是全部加上,省的出错。

  • 相关阅读:
    C++中使用多线程
    hdu 4223 dp 求连续子序列的和的绝对值最小值
    hdu 1372 bfs 计算起点到终点的距离
    hdu 4217 线段树 依次取第几个最小值,求其sum
    心得
    hdu 1175 bfs 按要求进行搜索,是否能到达,抵消两个(相同)棋子
    hdu 4221 greed 注意范围 工作延期,使整个工作时间罚时最少的单个罚时最长的值
    hdu 2844 多重背包 多种硬币,每一种硬币有一点数量,看他能组成多少种钱
    uva LCDDisplay
    hdu 4218 模拟 根据一个圆点和半径画一个圆 注意半径要求
  • 原文地址:https://www.cnblogs.com/hanxue112253/p/10055031.html
Copyright © 2020-2023  润新知