Spring更新到3.0之后,其MVC框架加入了一个非常不错的东西——那就是REST。它的开放式特性,与Spring的无缝集成,以及Spring框架的优秀表现,使得现在很多公司将其作为新的系统开发框架。大象根据实际的项目经验,以之前SSH2例子为基础,对其进行一次大改造,详细的为大家讲解如何实现SSM3全注解式的开发。

这次大象将采取两种构建方式,一是很多人喜欢用的MyEclipse,另一个,则是用Eclipse+Maven。这一篇,将主要讲解开发环境设置与Maven构建方式。
1、

开发环境

 
 

JDK1.6.0_18

 

Eclipse3.2.1 MyEclipse5.1.0

Eclipse-JEE-HELIOS-SR2 Maven3.0.1 m2eclipse0.12.1.20110112-1712
Tomcat6.0.10 maven-jetty-plugin6.1.26
MySQL5.0.27 Navicat Lite for MySQL 8.1.20
每个人的开发环境可能会有差异,但有一点我需要说明的是,JDK的版本不得低于1.5,因为用到了很多1.5版才支持的新特性。Tomcat、Jetty、Maven和MySQL请不要低于我所用的版本,因为我没在其它的版本上进行测试。Navicat则是MySQL数据库的图形化操作工具。接下来我将介绍如何在Eclipse3.6中,使用m2eclipse插件构建web应用及测试开发环境。

2、

设置Maven

Maven的安装很简单,只需要解压即可,请设置PATH变量,这样可以使用命令行进行操作,然后就要在%MAVEN_HOME%\conf目录下,对settings.xml作下修改
这就是设置本地仓库,目录可以根据自己的实际情况更改,不过请使用"/"正斜杠,因为我在实际使用中,发现反斜杠有时候获取不到资源。对于个人使用,设置好这个就OK了,至于Nexus配置不在本文讨论范围内,大家如有兴趣可以去看看juven xu的博客,他是目前公认的Maven专家。
3、

安装m2eclipse

选择Help->Install New Software...在弹出的窗口中,点击Add...又会弹出一个小窗口,输入m2eclipse的安装地址,如下图所示:
输入完成后,点击OK,这时Eclipse就开始查找这个插件了,请耐心等一会。
插件找到后,请勾选要安装的内容,接下来就是一般的安装流程了,此处省略500字。安装完成请重新启动Eclipse,然后再对这个插件进行一番设置。
4、

设置m2eclipse

进入Perferences,选择Maven,去掉Download repository index updates on startup前的勾,默认情况是会在每次启动Eclipse的时候自动去Maven中央仓库下载索引,这无疑是非常不好的,要知道Maven中央仓库所包含的jar资源非常庞大,而且每天都会有很多新的项目上传,弄不好Eclipse还没开始用,就被这些东西搞挂掉了。

接下来选择Installations将这个插件自带的Maven换成之前安装的Maven,这样就保证了版本的一致性。
设置好这个之后,再点击User Settings,用本机maven的settings.xml替换默认的配置文件,因为默认的设置是会将本地仓库放到系统盘符\Documents and Settings\用户目录\.m2\repository这个目录下面。
大家可以看到,用maven中的配置文件替换后,下面的Local Repository自动变更为settings.xml中的设置。

5、

创建maven工程

 

做完这些,我们就可以开始创建Maven工程了。选择New->other...->Maven->Maven Project,然后选择下一步

请设置工作空间路径,大象的默认工作空间放在eclipse的根目录下面,这里的Location显示的应该为空,为了进行说明,特将路径显示出来。确定没问题后,Next>
这个列表显示的就是maven支持的所有项目创建类型,我们是开发web应用,所以请选择maven-archetype-webapp
最后一步输入我们要创建的项目,在Maven世界中,使用坐标来唯一标识一个构件,可以理解为项目,资源等等。Group Id表示当前项目所属的实际项目,Artifact Id定义实际项目中的一个Maven项目,根据名字就可以看出来,Group Id是一个大范围,而Artifact Id是一个小范围。比如大家都很熟悉的spring,就分成了spring-core.jar、spring-beans.jar、spring-context.jar等等。在maven里面,它的Group Id就是org.springframework,而Artifact Id则为spring-core、spring-beans、spring-context。怎么样?理解了没有?
到此,项目生成了,请展开src/main,在main目录下新建一个java文件夹,打开ssm3的项目属性,选择Java Build Path->Source->Add Folder...->勾选java,这样做的目的,就是将src/main/java这个路径作为源文件的文件夹,这和以往用MyEclipse做开发的目录结构是不同的。而maven的规则也是这样定义的,假如你不进行这个设置,就算你在main下面创建了java目录,再添加包或类时,就会有问题,大家试试,看会出现什么错误。
6、

运行ssm3 接下来,在pom.xml里面加入maven-jetty-plugin插件,默认生成的配置都可以去掉,整个pom就只有下图所示的配置。

打开Run Configurations,这有多种方式打开,可以从菜单Run里面选,也可以从工具栏选择,还可以在项目点击右键选择。
在弹出的窗口,Maven Build里面设置运行参数,点击Browse Workspace...会弹出下图那个小窗口,设定Base directory,加入jetty:run,点击Run,启动jetty
在浏览器中输入http://localhost:8080/ssm3会显示Hello World!,调用的是ssm3/main/webapp/index.jsp,大象加了点内容,结果就是这样的
到这里,关于在Eclipse里搭建maven环境,配置,创建,运行,测试就全部讲完了,大家动手做做,熟悉一下这种开发方式,接下来就会在这个骨架上开发SSM3示例。恩,我们下次继续。

Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(一)的更多相关文章

  1. Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(三)

    前两章我为大家详细介绍了如何搭建Maven环境.Spring MVC的流程结构.Spring MVC与Struts2的区别以及示例中的一些配置文件的分析.在这一章,我就对示例的层次结构进行说明,以及M ...

  2. Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(四)

    这一章大象将详细分析web层代码,以及使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能.     之前在使用Struts2实现MVC的注解时,是借助struts2-conventi ...

  3. Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(二)

    在上一篇文章中我详细的介绍了如何搭建maven环境以及生成一个maven骨架的web项目,那么这章中我将讲述Spring MVC的流程结构,Spring MVC与Struts2的区别,以及例子中的一些 ...

  4. Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(五)

    这是本系列的最后一篇,主要讲一下FreeMarker模板引擎的基本概念与常用指令的使用方式.     一.FreemMarker基本概念     FreemMarker是一个用Java语言编写的模板引 ...

  5. Spring mvc系列一之 Spring mvc简单配置

    Spring mvc系列一之 Spring mvc简单配置-引用 Spring MVC做为SpringFrameWork的后续产品,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块 ...

  6. Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍

    Spring4.X + spring MVC + Mybatis3 零配置应用开发框架搭建详解(1) - 基本介绍 spring集成 mybatis Spring4.x零配置框架搭建 两年前一直在做后 ...

  7. Spring MVC(3)Spring MVC 高级应用

    一.Spring MVC 的数据转换和格式化 前面的应用,都只是用HandlerAdapter去执行处理器. 处理器和控制器不是一个概念,处理器是在控制器功能的基础上加上了一层包装,有了这层包装,在H ...

  8. Spring MVC(2)Spring MVC 组件开发

    一.控制器接收各类请求参数 代码测试环境: 接收各类参数的控制器--ParamsController package com.ssm.chapter15.controller; @Controller ...

  9. centos7.2环境elasticsearch-5.0.1+kibana-5.0.1+zookeeper3.4.6+kafka_2.9.2-0.8.2.1部署详解

    centos7.2环境elasticsearch-5.0.1+kibana-5.0.1+zookeeper3.4.6+kafka_2.9.2-0.8.2.1部署详解 环境准备: 操作系统:centos ...

随机推荐

  1. 更换手机号或者更换手机后QQ设备锁的设置问题

    更换手机号 一步到位,更改密保手机号,OK了 更换手机 老卡插入 登录QQ,OK了 更换手机号和手机 老卡插入新手机 登录QQ 新卡插入新手机 更改密保手机号,OK了

  2. c程序设计语言_习题1-18_删除输入流中每一行末尾的空格和制表符,并删除完全是空格的行

    Write a program to remove all trailing blanks and tabs from each line of input, and to delete entire ...

  3. hunnu 小明的烦恼——找字符串

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11544&courseid=0 小明的烦恼——找字符串 ...

  4. JSP---JavaBean的使用-jsp:useBean标签相关

    JavaBean介绍: JavaBean其实就是一个遵循特定写法的java类,但是必须具有如下特点: 1.这个java类必须具有一个公开的无参构造函数 2.属性必须私有化,类必须公开 3.私有化的属性 ...

  5. 解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题 Sequel Pro 1.1 encountered an unexpected error

    解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题 Sequel Pro encountered an unexpected error Sequel Pr ...

  6. 【JS】Intermediate8:jQuery:AJAX

    1.$.ajax is the main method, allowing you to manually construct your AJAX request 2.eg: gets some da ...

  7. Codeforces149E - Martian Strings(KMP)

    题目大意 给定一个字符串T,接下来有n个字符串,对于每个字符串S,判断是否存在T[a-b]+T[c-d]=S(1 ≤ a ≤ b < c ≤ d ≤ length(T)) 题解 对于每个字符串S ...

  8. yuv 图像里的stride和plane的解释

    stride可以翻译为:跨距 stride指在内存中每行像素所占的空间.如下图所示,为了实现内存对齐(或者其它的什么原因),每行像素在内存中所占的空间并不是图像的宽度. plane一般是以luma p ...

  9. 每个android项目都应该使用的android 库

    http://blog.teamtreehouse.com/android-libraries-use-every-project A good developer knows to never re ...

  10. poj 2367 Genealogical tree (拓扑排序)

    火星人的血缘关系很奇怪,一个人可以有很多父亲,当然一个人也可以有很多孩子.有些时候分不清辈分会产生一些尴尬.所以写个程序来让n个人排序,长辈排在晚辈前面. 输入:N 代表n个人 1~n 接下来n行 第 ...