美文网首页SpringFramework
使用maven 创建 springmvc整合mybatis项目

使用maven 创建 springmvc整合mybatis项目

作者: DakerYi | 来源:发表于2016-09-05 14:31 被阅读207次

    @(环境配置)

    摘要

    这篇主要是记录自己使用 sts 使用maven搭建 springmvc整合mybatis项目过程和踩过的一些坑:

    1. 项目目录结构问题
    2. Dynamic Web2.3 和 Dynamic Web3.0 兼容问题
    3. 各种文件存放目录问题

    使用sts创建 maven项目

    选择 webapp 项目:

    1.jpg

    填写项目信息:

    2.jpg

    创建后目录如下:

    3.png

    真是有点坑啊,刚刚创建的最基本的maven项目,直接就报错,而且大家可以看到,项目目录是又问题的,现在我们来解决下面两个问题:

    项目目录结构问题

    这个问题很好解决,主要是因为 jdk 导致的,我们可以右键项目->build path-> configure build path

    4.png

    编辑项目使用的jdk环境为自己安装的jdk环境,我这里安装的是 java8.0, 所以选择 java1.8.

    5.png

    然后 finish -> applay 之后,可以看到项目目录结构正常了:

    6.png

    解决错误

    错误是因为没有引入包导致的,我们可以直接引入 servlet 的包就可以解决:
    在 pom.xml 文件中引入 dependency, 解决问题

    <!-- servlet -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    
    7.png

    Web2.3 转 Web3.0 问题

    这个问题的来源主要是因为我的web.xml 默认是 2.3的,但是现在基本上都使用 3.0 的配置了,但是 sts创建的基本webapp还是 2.3,就比较坑爹了。网上看了很多方法,需要修改各种配置文件,太过于麻烦,这里提供一个简单的方法:
    项目属性 -> project facets:

    8.png

    可以看到当前状态是 web 2.3 以及 java 1.5:

    1. 先将 java1.5 修改为 自己安装的 jdk 版本,我这里是java1.8,可直接修改
    2. 但是如果此时你直接修改 Dynamic web module 为 3.0 的话,会报错:
    9.png

    所以我们先将它 取消勾选,点击ok,

    10.png

    然后再次进到这里,勾选它:

    11.png

    此时可以直接点击OK,也可以选择下面的further configuration avaliable:

    12.png
    • 可以保持默认,然后就会创建WebContent 目录,以及勾选 web.xml 文件。
    • 我这里提供另外一种方法,将 WebContent 修改为:src/main/webapp,大家可能就明白了,这个为了兼容 2.3 的配置文件,这样我就不需要删除原来的配置文件了。
    13.png

    两种方法都可以,我选择的是后者。
    修改到这里,项目居然有错:

    14.png

    看一下 probleams:

    15.png

    是因为 web.xml 下的配置还是2.3,这里直接修改为:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xmlns="http://java.sun.com/xml/ns/javaee" 
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
             http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
             id="WebApp_ID" 
             version="3.0" >
    
      <display-name>Archetype Created Web Application</display-name>
    </web-app>
    

    搞定。

    然后 alt+F5 更新项目,又出错了:

    16.png

    还记得刚刚开始我们修改自己的项目jdk为1.8,但是这里为什么还是1.5呢?
    我们需要再在 pom.xml 文件中添加 一个 plugin:

    <build>
        <finalName>spring-mybatis</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    然后 alt+F5 更新项目,问题终于解决完了:

    17.png

    最后是关于文件存放目录的问题

    这里直接截个图:

    18.png

    需要说明的是,在maven打包过程中,会将所有的这些文件都打到war包中,包括 web.xml 等一些文件。
    我这里想强调的是,在 web3.0项目中,mapping文件夹不能再存放在 src/main/java 下, src/main/java 下只会把 java文件打包,而在2.3中,所有 src/main/java 下的文件,包括配置文件,都会被打包,这点需要注意。 所以我们需要将 mapping 文件夹放到 resources 目录下。

    代码下载:

    其他的没什么好说的了,大家可以在网上搜得到,下面再提供我项目的最基本设置,供大家参考:

    http://pan.baidu.com/s/1c2FmSLU

    相关文章

      网友评论

        本文标题:使用maven 创建 springmvc整合mybatis项目

        本文链接:https://www.haomeiwen.com/subject/rcurettx.html