SSM从入门到放弃02:pom.xml的简单介绍

pom.xml的简单介绍

这里先贴出在我看来最简单的pom.xml



    4.0.0

    com.qdsygk
    ams
    1.0-SNAPSHOT
    war

    
        5.1.38
    

    
        
        
            mysql
            mysql-connector-java
            ${mysql.version}
        
    

如果使用idea创建的maven项目,那么在这里除了packaging、properties和dependencies之外的所有标签,都是maven自动生成的。

首先这里会有project标签,顾名思义用来描述一个项目的所有基本属性。

project标签中的xmlns等属性,可以参考这篇文章来理解:https://www.cnblogs.com/osttwz/p/6892999.html ,在此就不做过多描述。

modelVersion,我的理解是maven提供的model模型的版本,一般应该也无须care(至少我还没有碰到有什么细节需要特意修改这个版本号)。

groupId,大致用来标志公司事业群组,表明你的项目是在什么样的大背景下进行的。通常这里会使用公司域名倒置的格式来书写。如:com.xxx

artifactId,描述制品名,所谓制品其实就是你的项目最终的一个编译产出会以怎样的“代号”呈现,说白了也就是你的项目名。如:test

version,用来标志你的版本

packaging,描述你的项目打包方式,可以是jar,也可以是war,这里配置为war

properties,在这里可以理解为声明环境变量,其中的每一个标签都相当于一个环境变量,比如上面的代码里,我相当于声明了一个 mysql.version = 5.1.38,那么在pom.xml里如果有什么需要用到它,使用${}就可以使用,譬如${mysql.version}

dependencies,外部依赖。直白一点就是你所需要的所有外部工具包,比如常见的数据库驱动包、jsp-api、servlet-api、上传下载文件的插件包、spring库、日志插件包等等。而在这里我举例了一个mysql的驱动包,groupId、artifactId、version三大要素,与你的项目如出一辙。在IDE帮你加载好依赖的时候,你便可以随意使用其中的类库。

那么问题来了,能不能不写dependencies。当然是可以的。你完全可以自主把jar包下载到你本地,然后拷贝到WEB-INF的lib文件夹中,就可以使用了。

以上便是一个很基础的pom.xml。如果你想了解更多更细致的配置,可以参考这篇文章,感觉写的已经非常细致了:https://blog.csdn.net/qq_33363618/article/details/79438044

那么问题又来了,作为SSM项目,我应该配置哪些外部依赖?

SSM指Spring、SpringMVC、MyBatis的集成框架,而SpringMVC是Spring的衍生框架之一,那么Spring、MyBatis是必不可少的,此外你还需要数据库组件、WEB组件、日志组件、JSON组件、上传下载组件、分页组件 等等(根据自需)

下面po出我的项目所需的一些外部依赖,如果你觉得跟你的项目差不多,你大可以一股脑复制过来,因为基本包含了很多基础依赖。

    
        4.3.0.RELEASE
    

    
        
        
            junit
            junit
            4.11
        

        
        
            mysql
            mysql-connector-java
            5.1.38
        
        
            c3p0
            c3p0
            0.9.1.2
        

        
        
            org.mybatis
            mybatis
            3.4.1
        
        
            org.mybatis
            mybatis-spring
            1.3.0
        

        
        
            javax.servlet
            jstl
            1.2
        
        
            javax.servlet
            javax.servlet-api
            3.0.1
            provided
        
        
            javax.servlet.jsp
            jsp-api
            2.1
            provided
        
        
            com.fasterxml.jackson.core
            jackson-core
            2.5.2
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.5.2
        
        
            com.fasterxml.jackson.module
            jackson-module-jaxb-annotations
            2.5.2
        

        
        
            org.apache.commons
            commons-lang3
            3.3.2
        

        
        
            net.sf.json-lib
            json-lib
            2.4
            jdk15
        

        
        
            ch.qos.logback
            logback-classic
            1.1.1
        

        
        
            com.google.guava
            guava
            17.0
        

        
        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-context-support
            ${spring.version}
        
        
            org.springframework
            spring-beans
            ${spring.version}
        
        
            org.springframework
            spring-expression
            ${spring.version}
        
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        
        
            org.springframework
            spring-tx
            ${spring.version}
        
        
        
            org.springframework
            spring-test
            ${spring.version}
        

    

关于Spring的类库,可以参考这篇文章去了解更多:http://www.cnblogs.com/zilincom/articles/6007969.html

你可能感兴趣的:(SSM)