eclipse+maven+springmvc实践

来源:互联网 发布:power point软件下载 编辑:程序博客网 时间:2024/05/21 14:02

版本

eclipse的版本是oxygen
maven的版本是3.0.5
jdk版本是1.8
spring版本是3.2.8

一 eclipse集成maven

oxygen版本的eclipse自带maven插件,如果没有maven插件可以安装m2e。由于目前不确定如何删除eclipse自带的maven插件而且我在使用的过程中还没发现什么不得了的缺陷。暂且用之。但是maven就不要用eclipse自带的了,而是要使用自己下载的maven,前提是你得配置好maven的环境变量。
打开window-preferences-maven,找到installations,如下:

点击上图中的add按钮,找到本地安装maven的目录即可,选择之后最终如上图显示(我使用的是apache-maven-3.0.5)。
之后点击maven目录下的user settings,如下图所示:

maven默认本地仓库地址是在用户目录下的.m2目录下,我这里使用的也是默认的本地仓库地址。user settings是指maven的settings.xml文件的地址。一般我们把settings.xml文件复制到.m2目录下,这样做的好处就是我们可以在.m2目录下的settings.xml中单独设置我们自己的maven配置。这在多用户的情况下是有用的。Global settings是指maven中自带的那个settings.xml,在这里面进行设置的话,会影响全局maven的配置,不建议在这里进行设置。当然,个人电脑不用区分这些。
此时可以新建一个maven项目看看是否成功了。也许你可能会遇到一个问题:eclipse is running in a jre,but a jdk is required。你可以修改eclipse安装目录下的eclipse.ini文件,添加vm配置指向jdk即可。(我打开自己的eclipse.ini没有发现这段配置,也许自带的maven插件没有这个问题,maven实战书中在安装m2e插件时指出了这个问题并提供了这个解决方案)

二 新建maven项目

file-new-[other]-maven project,进入如下页面

选择workspace location,next

这里我选择的是webapp,next

输入groupId artifactId即可,package默认jar,这里可以输入war,finish。
结果

到这里这个maven项目还不能用,还需要一些修改和设置。这个index.jsp报错是因为没有引入servlet api。可以待会在pom引入servlet api依赖,或者添加server runtime库也可以。我选择前者。
修改的主要问题在于缺少源文件目录以及package时输出的内容,最好,把jre system library也改成自己常用的。
首先增加源文件目录
,打开java build path,如下

删除带红叉的目录,然后add folder。添加其他的三个。结果如下

然后打开每一个新建的source folder,修改他们的output folder。如下

main目录下的output folder为target/classes,test目录下的output folder为target/test-classes。修改完毕之后,在order and export选项中调整一下位置。最终效果如下:

接下来修改package输出,右键项目-properties-deployment assembly,如下:

修改成如下:

apply and close之后,基本上就完成了,可以开始开发了。

三 springmvc简单实践

首先通过pom引入依赖的jar包
<properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <spring.version>3.2.8.RELEASE</spring.version>    <slf4j.version>1.6.6</slf4j.version>    <log4j.version>1.2.12</log4j.version>    <mybatis.version>3.2.1</mybatis.version>    <junit.version>4.10</junit.version>  </properties>    <dependencies>  <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-core</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-webmvc</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-context</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-context-support</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-aop</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-aspects</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-tx</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-jdbc</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-web</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>${junit.version}</version>      <scope>test</scope>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-test</artifactId>      <version>${spring.version}</version>      <scope>test</scope>    </dependency>    <!-- javaee 支持 -->    <dependency>    <groupId>javax.servlet</groupId>      <artifactId>javax.servlet-api</artifactId>      <version>3.0.1</version>      <scope>provided</scope>    </dependency>  </dependencies>
注意这里的servlet api依赖的范围是provided,也就是编译和测试时需要它,运行时不需要。
你也可以自己定义pom文件,maven提供了十分强大的依赖管理的功能,可以让你对项目的依赖有一个清晰的认识。
接下来就可以在spring上面开发了。
spring涵盖内容广泛,用起来又简单方便,寥寥几行代码不值得贴出来,待日后深究原理,再来探讨。

原创粉丝点击