关于spring 的依赖包的分类总结

 

一、核心部分Core Container,

  由spring-core, spring-beans, spring-context, spring-context-support, 和spring-expression 构成。 

  1.spring-core, spring-beans提供控制反转和依赖注入功能,

  2.spring-context类似jndi注册处,提供资源绑定加载,事件广播,还有EJB, JMX, 和basic remoting等javaEE特征 

  3.spring-context-support提供第三方库集成到spring应用,如缓存 caching (EhCache, Guava, JCache), 邮件mailing (JavaMail), 计划任务scheduling

      (CommonJ, Quartz) 和模板引擎template engines (FreeMarker, JasperReports, Velocity) 

  4.spring-expression 类似EL语言,是对EL的一种扩展

二、Aop和Instrumentation部分,

  由spring-aop,spring-aspects,spring-instrument,spring-instrument-tomcat构成。 

  1.spring-aop允许开发者定义方法拦截器和切点 

  2.spring-aspects用于aspectj面向切面编程的集成, 

  3.spring-instrument用于集成特定容器, 

  4.spring-instrument-tomcat提供tomcat的集成

三、Messaging部分,

  由spring-messaging构成。

  spring-messaging与一些基于消息的应用的集成,提供一些消息相关的注解

四、The Data Access/Integration部分, 

  由spring-jdbc,spring-tx,spring-orm,spring-oxm,spring-jms构成。 

  1.spring-jdbc使你免于编写数据库连接代码 

  2.spring-tx提供事务管理, 

  3.spring-orm允许开发者使用O/R对象关系映射框架,和上面提到的事务管理, 

  4.spring-oxm允许将spring-orm抽象成XML映射,即以xml文件来描述映射, 

  5.spring-jmsJAVA消息服务,生成和消费消息,与spring-messaging集成

五、WEB层,

  由spring-web, spring-webmvc, spring-websocket, spring-webmvc-portlet构成 。

  1.spring-web包含http客户端,多文件上传,利用监听器进行ioc容器初始化,提供应用上下文等功能 

  2.spring-webmvc提供MVC和REST WEB服务实现 

  3.spring-webmvc-portlet允许spring-webmvc用于Portlet组件环境(插件式管理)

通过以上对spring框架各个模块的解读,大家就可以根据自己的项目需求进行相应的jar包导入了

 

 

 

下面是我的依赖pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>tzw.ssm</groupId>
  <artifactId>tzw-ssm</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>tzw-ssm Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <spring.version>4.0.0.RELEASE</spring.version>
  </properties>

  <dependencies>
  <!--===============================spring 核心start===========================-->

    <!--spring-core spring-beans 控制反转和依赖注入功能-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!--jndi注册处,提供资源绑定加载,事件广播,还有EJB, JMX, 和basic remoting等javaEE特征 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!--提供第三方库集成到spring应用,如缓存 caching (EhCache, Guava, JCache), 邮件mailing (JavaMail), 计划任务scheduling
      (CommonJ, Quartz) 和模板引擎template engines (FreeMarker, JasperReports, Velocity) -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!--类似EL语言,是EL的扩展-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!--===============================spring 核心end===========================-->

    <!--===============================spring mvc start===========================-->
    <!--包含http客户端,多文件上传,利用监听器进行ioc容器初始化,提供应用上下文等功能 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!--提供MVC和REST WEB服务实现-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!--===============================spring mvc end===========================-->

    <!--===============================spring aop start===========================-->
    <!--允许开发者定义方法拦截器和切点 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!--用于aspectj面向切面编程的集成, -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!--===============================spring aop end===========================-->

    <!--===============================spring data start===========================-->
    <!--免于编写数据库连接代码 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.0.0.RELEASE</version>
    </dependency>

    <!--事务管理-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.0.0.RELEASE</version>
    </dependency>

    <!--允许开发者使用O/R对象关系映射框架,和上面提到的事务管理,

    使用 对象去描述关系数据库中的表,以及使用对象之间的关系描述表之间的关联,就出现了对象关系映射 (Object Relational Mapping,ROM) 技术。
     简单的说,ORM是通过使用描述对象和数据库之间的映射的元数据,将Java 程序中的对象自动持久化到关系数据库中。
     Hibernate就是其中一种非常优秀的 ORM框架-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jms</artifactId>
      <version>4.0.0.RELEASE</version>
    </dependency>

    <!--允许将spring-orm抽象成XML映射,即以xml文件来描述映射,-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>4.0.0.RELEASE</version>
    </dependency>

    <!--JAVA消息服务,生成和消费消息,与spring-messaging集成-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>4.0.0.RELEASE</version>
    </dependency>
    <!--===============================spring data end===========================-->

    <!--===========================spring-messaging 与一些基于消息的应用的集成,提供一些消息相关的注解====================================-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-messaging</artifactId>
      <version>4.0.0.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>tzw-ssm</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

 

 

 

 

 

 

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值