上一篇中已经成功使用maven搭建了一个web项目,本篇描述在此基础上怎么搭建一个基于springmvc+mybatis环境的项目.
说了这么久,为什么那么多人都喜欢用maven搭建项目?我们都知道maven是用来管理项目依赖包的,它到底有多方便呢?大家都知道,在以前,我如果要在项目中使用jar包,那么需要先去网上下载对应的jar包,然后复制到项目中,然后再add to build path才可以真正使用它.那么maven项目中是怎么做的呢?
首先在建好的maven项目最底下我们可以找到一个pom.xml的文件,新建好的pom.xml文件如下:
我们可以看到在dependencies节点下已经默认有个了一个dependency(依赖)节点,当然也许环境版本不同建立起来也许没有默认的,那么这一个dependency节点有什么用呢?
看一下项目:
我想大家已经清晰的看到了,在maven依赖下自动多了一个junit-3.8.1.jar,这不是我手动添加的,是自动添加的,再对比一下version版本号,两者是一样的.那么如果我现在想在项目中引入log4j该怎么做呢?非常简单,在pom.xml中再添加一段:
添加过后保存pom.xml文件,我们就可以看到左侧自动添加了log4j-1.2.17.jar包,(当然你的电脑要是联网的才行,你保存后如果本地仓库没有是会自动去网络上下载的,没有网络可不会凭空变出来,你下载过后下次再引用就不需要重新下载了,会自动从本地仓库中取)如果想要换一个版本,只要改一下version,保存就行了
看,log4j的版本自动就换了,引入的新的log4j版本,并且原先的log4j版本自动删除了,多方便,同理,如果想引入spring的web相关包,只要添加一段就行了.
我们可以看到一下子添加了好几个jar包,连需要用到的spring核心包也 一同引入进来了.写到这里不禁想起了当初做毕业设计时候,也用的springmvc+mybatis,那时候不知道maven,满世界的去下载各种jar包,想想就心酸,对比一下,真感觉是后妈养的.
好了,到这里,我们知道了怎么在项目中添加依赖包了,那么问题来了,每次 要添加的dependency节点,我怎么知道它的groupid,artifactid以及version呢?当然现在网络这么发达,你可已去网上找别人的配置文件,看别人的,如果你想自己写,那么可以自己去maven官网查找,在浏览器输入search.maven.org ,还是以log4j为例,输入log4j,点击搜索,结果如下:
点击中间的1.2.17,如下:
这样就可以方便的添加依赖了,如果你不想要最新版本,可以点击all,进去后再选择自己想要的版本.其实到这里我感觉基本已经算结束了,剩下的都是一些springmvc+mybatis的配置,网上有许多,也都大同小异.
就直接贴代码了,首先结构如下:
后台代码:
UserController:
package com.acgg.testMaven.user.controller; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.acgg.testMaven.user.model.UserInfo; import com.acgg.testMaven.user.service.UserService; /** * @author 作者 : niexiaohui * @version V1.0 * 创建时间:2016年10月29日 下午6:37:55 * 类说明: */ @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping("/queryUser.do") public String queryAllUser(HttpServletRequest request) { List<UserInfo> userInfos = userService.queryAllUser(); request.setAttribute("userInfos", userInfos); return "user/showAllUser"; } @RequestMapping("/showJsonUser.do") @ResponseBody public Object showJsonUser(HttpServletRequest request) { List<UserInfo> userInfos = userService.queryAllUser(); return userInfos; } }