搭建SSM项目, pom文件的 Spring的依赖疑问, 可以这样设置 Spring的依赖么?

1. 问题描述:

    在尝试这搭建 SSM 项目的过程中,   我是看着 Spring的结构图去添加 pom.xml 中的依赖的,   比如 core部分只需要添加  spring-context 依赖即可.  然后 context 会自动去依赖 core, beans, aop, expression.   所以,  在搭建SSM项目时,  Spring 依赖我只添加六个了 context, orm, webmvc, context-support, aspects, test  如果不需要日志和测试的话, 后面两个去掉 也是可以的.
    请问各位大佬,   这样子搭建,  符不符合规范???  

** 2. 相关代码:**

<?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>com.itssm</groupId>
  <artifactId>ssmDemo</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <!-- 依赖版本统一管理 -->
  <properties>
    <!-- 设置项目编码编码 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <!-- spring版本号 -->
    <spring.version>4.3.10.RELEASE</spring.version>
    <!-- mybatis版本号 -->
    <mybatis.version>3.4.4</mybatis.version>
    <mybatis-spring.version>1.3.1</mybatis-spring.version>
    <!-- mysql和数据源 版本号 -->
    <mysql-connector.version>5.1.38</mysql-connector.version>
    <druid.version>1.0.6</druid.version>
    <!-- JSON版本号 -->
    <fastjson.version>1.2.35</fastjson.version>
    <!-- servlet版本号 -->
    <servlet.version>2.5</servlet.version>
    <jstl.version>1.2</jstl.version>
    <!-- 日志版本号 -->
    <log4j.version>1.2.17</log4j.version>
    <slf4j.version>1.7.25</slf4j.version>
  </properties>

  <dependencies>

    <!-- spring包 -->
    <!-- Spring的核心依赖(即Spring结构图中的core部分):
            core: 依赖注入IoC与DI的最基本实现,
            beans: Bean工厂与bean的装配,
            context: spring的context上下文即IoC容器,
            expression: spring表达式语言
         context依赖了 core, beans, expression以及aop, 因此只需加入 context 依赖即可.
         注意: 因为spring-core依赖了commons-logging,而其他模块都依赖了spring-core,所以整个spring框架都依赖了commons-logging,
         如果有自己的日志实现如log4j,可以排除对commons-logging的依赖,没有日志实现而排除了commons-logging依赖,则编译报错 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
      <!-- 排除依赖
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
      </exclusions>-->
    </dependency>

    <!-- Spring的DAO层依赖(即Spring结构图中的DATA ACCESS部分):
            jdbc, tx, orm, oxm: 对象xml映射, jms: java消息服务. 其中 orm 依赖于: core, beans, jdbc, tx
    -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${spring.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Spring的WEB层依赖: web, webmvc,
            webmvc-portlet: 基于portlet的mvc实现,
            websocket: 为web应用提供的高效通信工具.
            messaging: 用于构建基于消息的应用程序
             -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
        </exclusion>
        <exclusion>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
      </exclusion>
      </exclusions>
    </dependency>


    <!-- Spring结构图中的aop部分 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>${spring.version}</version>
    </dependency>


    <!-- Spring结构图中的test部分: test, context-support: spring额外支持包,比如邮件服务、视图解析等 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

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

    <!-- mybatis核心包 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis.version}</version>
    </dependency>
    <!-- mybatis/spring整合包 -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>${mybatis-spring.version}</version>
    </dependency>

    <!-- mysql 驱动 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql-connector.version}</version>
    </dependency>
    <!-- druid 数据源包 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>${druid.version}</version>
    </dependency>

    <!-- javax包  servlet -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>${servlet.version}</version>
      <scope>provided</scope>
    </dependency>
    <!-- JSTL标签类-->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>${jstl.version}</version>
    </dependency>
    <!-- json转换包 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>${fastjson.version}</version>
    </dependency>


    <!-- 日志文件管理包 -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>
    <!-- log4j -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency>

    <!-- 动态字节码生成框架,包括支持两种API,Java语言级别和字节码级别 -->
    <dependency>
      <groupId>org.javassist</groupId>
      <artifactId>javassist</artifactId>
      <version>3.20.0-GA</version>
    </dependency>

    <!-- 拉分析式的XML解析技术, 也支持对XML文件的生成操作.
    <dependency>
      <groupId>stax</groupId>
      <artifactId>stax-api</artifactId>
      <version>1.0.1</version>
    </dependency> -->

  </dependencies>



  <build>
    <finalName>ssmDemo</finalName>
    <!-- 在target\classes\目录下 没有发现mapper.xml 因此加入此配置-->
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
  </build>
</project>


1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问