Java spring mvc restful 一步一步的搭建以及集成swagger,附加源代码

最近差点被公司开了,然后好心的hr问我愿不愿意换岗位,换岗位就可以留下来,我想了想,看看什么岗位吧,我靠,java技术开发,这太找乐了,我一个.Net开发8年的人才去开发java,首先,我不会java,其次,这个新部门没有java人员,谁带我?然后我说,我不会Java,但是如果有人带就好,后来和部门领导聊了聊,他说不会没关系,可以学,后面还会招来一个会的,可以带你,然后我就这么被忽悠进来,进来第一天,老大说,java的目前可能找不来,因为老板没有批下来预算,所以你自己学习吧!是不是很坑,然后我就自己研究了一个星期java spring mvc restful,其过程我就不说了,我就说我的学习成果吧,不是大家讲东西,也不是分享,就是自己做个笔记,以后开发还可以有据可查!如果有幸被你这位大牛看到了,看到我写的不对的地方请留言,我好改正哈!

开发工具:spring tool suite

目标:搭建一个spring mvc restful

Demo源代码:https://github.com/TerryZou/Spring_Mvc_Restful_Swagger

(有的人,像我一样懒得看技术文章,就喜欢下代码,所以我把源代码放到了github,而且放到了文章的开头,不和别人一样,喜欢把代码放后面,一点也不人性化,呵呵,如果下了代码,请给赞哦,良心程序员在这里哦)

一、打开sts,提示选择workspace,选择好了,点击Launch

二、在工具栏中一次点击File > New > Maven Project,然后选择User default Workspace location 后点击Next

三、选择webapp 1.0后Next

四、GroupId类似于工程名字,ArtifactId类似于项目名称,输入好了之后可以Finish了

五、你会在左侧的Package Explore看到项目结构树,这就是webapp基础项目了,我们在这基础上进行配置spring mvc,对了,其中maven安装和配置,我就不写了,我有时间单独写一下maven的配置,毕竟这些都是可以独立存在的。

六、不管三七二十一,我们运行一下,右击根目录依次点击 Run As > Run on Server,这时候弹出一个窗口,根据你本地安装的Tomcat版本进行选择,然后Next

七、在Tomcat installation directory 选择Tomcat安装的目录,至于如何安装Tomcat,这里不做介绍。选好了,就Finish。

八、这时候把要运行的项目添加到右边,不运行的可以移到左边,当然都选择也可以,没啥问题。

九、这时候默认创建的项目,就运行起来了,不出意外的情况下,IDE内嵌的浏览器会展示一下Helloworld页面。

十、你会看到MySpringMvc有个红色的叉,这个我们来解决一下,右击根目录,依次点击 Build Path > Configure Build Path … 在弹出的窗口中左侧选择 Java Build Path,左侧选择Libraries 然后点击Add Library… ,这时候有弹出一个窗口,选择 Server Runtime,然后next

十一、因为运行的时候我们已经为项目配置了Tomcat服务器,所以我们就直接选择我们配置好的Server就好了。

十二、添加完了Tomcat Server类库,我们的小红叉就没了,完美!

十三、前面的准备工作完事,我们要开始配置spring mvc 了,这才是重点,首先,打开根目录下的pom.xm,因为这个项目是通过maven工具进行管理的,所以在pom.xml添加我们所需要的jar包配置,我们的maven,就会帮我们加载所需要的jar包!打开后,看到pom.xml的默认内容,如下:

十四、在<url></url>节点后面添加下面的配置

十五、在<dependencies></dependencies>中添加下面的几个配置

1
2
3
4
5

十六、这样pom.xml配置完了,我么就配置web.xml文件,在WEB-INF目录下,下面是默认内容:

十七、然后把默认内容全删了,把下面的内容复制上

1
2

十八、在WEB-INF中创建springMVC-servlet.xml文件,然后复制下面的内容

1
2

十九、在WEB-INF中创建applicationContext.xml文件,然后复制下面的内容:

二十、在WEB-INF中创建log4j.properties文件,然后复制下面的内容:

二十一、在src/main/java下创建jar包com.meme.mymvc.restfulapi

二十二、在com.meme.mymvc.restfulapi下创建UserController.java类文件,并写下列代码用来测试。

二十三、运行项目,然后在浏览器输入http://localhost:8080/MySpringMvc/hi和http://localhost:8080/MySpringMvc/say/hello,浏览器会分别输出下列结果

1
2

二十四、至此我们spring mvc就搭建完了,下面在com.meme.mymvc.restfulapi包里创建一个User.java实体类

二十五、再把UserController.java添加下面代码,用来展示Restful风格的api

1
2
3
4

到这里,我们的spring mvc restful 框架就完事了。下面我们再来集成swagger,用来生成api接口说明

一、下载swagger,3.0一下,2.0以上的版本,下载地址:https://github.com/swagger-api/swagger-ui/tree/v2.2.10

二、在整合之前,需要把所有使用到的依赖包全部引入

三、在src/main/java下创建jar包com.meme.mymvc.config

四、在com.meme.mymvc.config下创建SwaggerConfig.java类文件,通过java编码的方式实现配置

五、在配置文件springMVC-servlet.xml 插入<bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig"/>和<bean class="com.meme.mymvc.config.SwaggerConfig"/>

六、解压下载的swagger,然后把里面的dist文件夹中的内容复制到/WEB-INF/swagger中,没有swagger文件夹就自己创建喽,同时在springMVC-servlet.xml 文件中添加<mvc:resources mapping="/swagger/**" location="/WEB-INF/swagger/"/>用来资源访问。

七、修改swagger/index.html文件,默认是从连接http://petstore.swagger.io/v2/swagger.json获取 API 的 JSON,这里需要将url值修改为http://{ip}:{port}/{projectName}/api-docs的形式,{}中的值根据自身情况填写。比如我的url值为:http://localhost:8083/arrow-api/api-docs

八、好了,最后呢,在我们的接口出打上标记吧。@ApiOperation注解对这个方法进行了说明,@ApiParam注解对方法参数进行了说明。关于这两个注解的使用,可以参看源码。这样子,Swagger就可以扫描接口方法,得到我们自定义的接口说明内容。

九、运行项目在浏览器输入 http://localhost:8080/MySpringMvc/swagger/index.html就可以看到效果了。

这就是我这一个星期学习的收获,我没有说啥原理,代码也是截图,因为这个简书编辑器,贴代码有问题,我就不贴代码了。其中的过程还有很多遇到的问题,我就不说了,我只是来总结做笔记的,有啥问题,欢迎留言交流哦!晚安!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,739评论 6 342
  • 要加“m”说明是MB,否则就是KB了. -Xms:初始值 -Xmx:最大值 -Xmn:最小值 java -Xms8...
    dadong0505阅读 4,805评论 0 53
  • 富有_edd3阅读 253评论 0 0
  • 我热爱的事物, 发霉的底片, 凌晨的酒, 不可触摸的时刻从指尖滑过, 人们为已消逝的事物忍受痛苦。 我热爱的事物,...
    BaivyBBai阅读 380评论 0 0