最近差點(diǎn)被公司開(kāi)了嘀掸,然后好心的hr問(wèn)我愿不愿意換崗位,換崗位就可以留下來(lái)规惰,我想了想睬塌,看看什么崗位吧,我靠,java技術(shù)開(kāi)發(fā)揩晴,這太找樂(lè)了勋陪,我一個(gè).Net開(kāi)發(fā)8年的人才去開(kāi)發(fā)java,首先硫兰,我不會(huì)java诅愚,其次,這個(gè)新部門(mén)沒(méi)有java人員劫映,誰(shuí)帶我违孝?然后我說(shuō),我不會(huì)Java苏研,但是如果有人帶就好等浊,后來(lái)和部門(mén)領(lǐng)導(dǎo)聊了聊腮郊,他說(shuō)不會(huì)沒(méi)關(guān)系摹蘑,可以學(xué),后面還會(huì)招來(lái)一個(gè)會(huì)的轧飞,可以帶你衅鹿,然后我就這么被忽悠進(jìn)來(lái),進(jìn)來(lái)第一天过咬,老大說(shuō)大渤,java的目前可能找不來(lái),因?yàn)槔习鍥](méi)有批下來(lái)預(yù)算掸绞,所以你自己學(xué)習(xí)吧泵三!是不是很坑,然后我就自己研究了一個(gè)星期java spring mvc restful衔掸,其過(guò)程我就不說(shuō)了烫幕,我就說(shuō)我的學(xué)習(xí)成果吧,不是大家講東西敞映,也不是分享较曼,就是自己做個(gè)筆記,以后開(kāi)發(fā)還可以有據(jù)可查振愿!如果有幸被你這位大沤萦蹋看到了,看到我寫(xiě)的不對(duì)的地方請(qǐng)留言冕末,我好改正哈萍歉!
開(kāi)發(fā)工具:spring tool suite
目標(biāo):搭建一個(gè)spring mvc restful
Demo源代碼:https://github.com/TerryZou/Spring_Mvc_Restful_Swagger
(有的人,像我一樣懶得看技術(shù)文章档桃,就喜歡下代碼翠桦,所以我把源代碼放到了github,而且放到了文章的開(kāi)頭,不和別人一樣销凑,喜歡把代碼放后面丛晌,一點(diǎn)也不人性化,呵呵斗幼,如果下了代碼澎蛛,請(qǐng)給贊哦,良心程序員在這里哦)
一蜕窿、打開(kāi)sts谋逻,提示選擇workspace,選擇好了桐经,點(diǎn)擊Launch
二毁兆、在工具欄中一次點(diǎn)擊File > New > Maven Project,然后選擇User default Workspace location 后點(diǎn)擊Next
三阴挣、選擇webapp 1.0后Next
四气堕、GroupId類(lèi)似于工程名字,ArtifactId類(lèi)似于項(xiàng)目名稱(chēng)畔咧,輸入好了之后可以Finish了
五茎芭、你會(huì)在左側(cè)的Package Explore看到項(xiàng)目結(jié)構(gòu)樹(shù),這就是webapp基礎(chǔ)項(xiàng)目了誓沸,我們?cè)谶@基礎(chǔ)上進(jìn)行配置spring mvc梅桩,對(duì)了,其中maven安裝和配置拜隧,我就不寫(xiě)了宿百,我有時(shí)間單獨(dú)寫(xiě)一下maven的配置,畢竟這些都是可以獨(dú)立存在的洪添。
六垦页、不管三七二十一,我們運(yùn)行一下薇组,右擊根目錄依次點(diǎn)擊 Run As > Run on Server外臂,這時(shí)候彈出一個(gè)窗口,根據(jù)你本地安裝的Tomcat版本進(jìn)行選擇律胀,然后Next
七宋光、在Tomcat installation directory 選擇Tomcat安裝的目錄,至于如何安裝Tomcat炭菌,這里不做介紹罪佳。選好了,就Finish黑低。
八赘艳、這時(shí)候把要運(yùn)行的項(xiàng)目添加到右邊酌毡,不運(yùn)行的可以移到左邊,當(dāng)然都選擇也可以蕾管,沒(méi)啥問(wèn)題枷踏。
九、這時(shí)候默認(rèn)創(chuàng)建的項(xiàng)目掰曾,就運(yùn)行起來(lái)了旭蠕,不出意外的情況下,IDE內(nèi)嵌的瀏覽器會(huì)展示一下Helloworld頁(yè)面旷坦。
十掏熬、你會(huì)看到MySpringMvc有個(gè)紅色的叉,這個(gè)我們來(lái)解決一下秒梅,右擊根目錄旗芬,依次點(diǎn)擊 Build Path > Configure Build Path … 在彈出的窗口中左側(cè)選擇 Java Build Path,左側(cè)選擇Libraries 然后點(diǎn)擊Add Library… ,這時(shí)候有彈出一個(gè)窗口捆蜀,選擇 Server Runtime疮丛,然后next
十一、因?yàn)檫\(yùn)行的時(shí)候我們已經(jīng)為項(xiàng)目配置了Tomcat服務(wù)器漱办,所以我們就直接選擇我們配置好的Server就好了这刷。
十二婉烟、添加完了Tomcat Server類(lèi)庫(kù),我們的小紅叉就沒(méi)了娩井,完美!
十三似袁、前面的準(zhǔn)備工作完事洞辣,我們要開(kāi)始配置spring mvc 了,這才是重點(diǎn)昙衅,首先扬霜,打開(kāi)根目錄下的pom.xm,因?yàn)檫@個(gè)項(xiàng)目是通過(guò)maven工具進(jìn)行管理的,所以在pom.xml添加我們所需要的jar包配置而涉,我們的maven,就會(huì)幫我們加載所需要的jar包著瓶!打開(kāi)后,看到pom.xml的默認(rèn)內(nèi)容啼县,如下:
十四材原、在<url></url>節(jié)點(diǎn)后面添加下面的配置
十五、在<dependencies></dependencies>中添加下面的幾個(gè)配置
十六季眷、這樣pom.xml配置完了余蟹,我么就配置web.xml文件,在WEB-INF目錄下子刮,下面是默認(rèn)內(nèi)容:
十七威酒、然后把默認(rèn)內(nèi)容全刪了,把下面的內(nèi)容復(fù)制上
十八、在WEB-INF中創(chuàng)建springMVC-servlet.xml文件葵孤,然后復(fù)制下面的內(nèi)容
十九担钮、在WEB-INF中創(chuàng)建applicationContext.xml文件,然后復(fù)制下面的內(nèi)容:
二十尤仍、在WEB-INF中創(chuàng)建log4j.properties文件裳朋,然后復(fù)制下面的內(nèi)容:
二十一、在src/main/java下創(chuàng)建jar包c(diǎn)om.meme.mymvc.restfulapi
二十二吓著、在com.meme.mymvc.restfulapi下創(chuàng)建UserController.java類(lèi)文件鲤嫡,并寫(xiě)下列代碼用來(lái)測(cè)試。
二十三绑莺、運(yùn)行項(xiàng)目暖眼,然后在瀏覽器輸入http://localhost:8080/MySpringMvc/hi和http://localhost:8080/MySpringMvc/say/hello,瀏覽器會(huì)分別輸出下列結(jié)果
二十四纺裁、至此我們spring mvc就搭建完了诫肠,下面在com.meme.mymvc.restfulapi包里創(chuàng)建一個(gè)User.java實(shí)體類(lèi)
二十五、再把UserController.java添加下面代碼欺缘,用來(lái)展示Restful風(fēng)格的api
到這里栋豫,我們的spring mvc restful 框架就完事了。下面我們?cè)賮?lái)集成swagger谚殊,用來(lái)生成api接口說(shuō)明
一丧鸯、下載swagger,3.0一下嫩絮,2.0以上的版本丛肢,下載地址:https://github.com/swagger-api/swagger-ui/tree/v2.2.10
二、在整合之前剿干,需要把所有使用到的依賴包全部引入
三蜂怎、在src/main/java下創(chuàng)建jar包c(diǎn)om.meme.mymvc.config
四、在com.meme.mymvc.config下創(chuàng)建SwaggerConfig.java類(lèi)文件置尔,通過(guò)java編碼的方式實(shí)現(xiàn)配置
五杠步、在配置文件springMVC-servlet.xml 插入<bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig"/>和<bean class="com.meme.mymvc.config.SwaggerConfig"/>
六、解壓下載的swagger榜轿,然后把里面的dist文件夾中的內(nèi)容復(fù)制到/WEB-INF/swagger中幽歼,沒(méi)有swagger文件夾就自己創(chuàng)建嘍,同時(shí)在springMVC-servlet.xml 文件中添加<mvc:resources mapping="/swagger/**" location="/WEB-INF/swagger/"/>用來(lái)資源訪問(wèn)差导。
七试躏、修改swagger/index.html文件,默認(rèn)是從連接http://petstore.swagger.io/v2/swagger.json獲取 API 的 JSON设褐,這里需要將url值修改為http://{ip}:{port}/{projectName}/api-docs的形式颠蕴,{}中的值根據(jù)自身情況填寫(xiě)泣刹。比如我的url值為:http://localhost:8083/arrow-api/api-docs
八、好了犀被,最后呢椅您,在我們的接口出打上標(biāo)記吧。@ApiOperation注解對(duì)這個(gè)方法進(jìn)行了說(shuō)明寡键,@ApiParam注解對(duì)方法參數(shù)進(jìn)行了說(shuō)明坝辫。關(guān)于這兩個(gè)注解的使用吨娜,可以參看源碼。這樣子,Swagger就可以掃描接口方法咐柜,得到我們自定義的接口說(shuō)明內(nèi)容徘钥。
九臭胜、運(yùn)行項(xiàng)目在瀏覽器輸入 http://localhost:8080/MySpringMvc/swagger/index.html就可以看到效果了录语。
這就是我這一個(gè)星期學(xué)習(xí)的收獲,我沒(méi)有說(shuō)啥原理注服,代碼也是截圖韭邓,因?yàn)檫@個(gè)簡(jiǎn)書(shū)編輯器,貼代碼有問(wèn)題溶弟,我就不貼代碼了女淑。其中的過(guò)程還有很多遇到的問(wèn)題,我就不說(shuō)了辜御,我只是來(lái)總結(jié)做筆記的鸭你,有啥問(wèn)題,歡迎留言交流哦我抠!晚安N尽M嗉搿菜拓!