日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

使用spring initialization创建SpringBoot项目

發(fā)布時(shí)間:2023/12/18 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用spring initialization创建SpringBoot项目 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

https://blog.csdn.net/liutong123987/article/details/79385513

?

有很多方法可以快速創(chuàng)建Springboot項(xiàng)目,可以通過idea的springboot initialization來創(chuàng)建,也可以通過手工新建一個(gè)maven工程,然后引入springboot的dependency來完成sprignboot的工程導(dǎo)入,還可以通過spring官網(wǎng)的來創(chuàng)建springboot項(xiàng)目,因?yàn)橛行┩瑢W(xué)可能沒裝idea,這里就通過官網(wǎng)的工程初始化指引來創(chuàng)建一個(gè)springboot空工程。
首先輸入網(wǎng)址 https://start.spring.io,打開后可以看到下圖:


image

在serch for dependency輸入web,即可完成基本的restful接口網(wǎng)關(guān)的功能,如果要JPA或者oauth安全相關(guān)的組件,可以增加rest repository、spring security等相關(guān)組件依賴庫,spring提供的配套組件還是很多的,基本涵蓋了所有應(yīng)用場合。
加入web組件后,點(diǎn)擊下方的綠色按鈕Generate Project即可創(chuàng)建一個(gè)springboot工程,并且自動(dòng)下載到本地,接下來直接在idea或者eclipse打開該工程就可以了,在創(chuàng)建的時(shí)候可以選擇Maven工程或者Gradle工程,這里我們使用了大家比較熟悉的Maven工程。
2. 工程結(jié)構(gòu)
下面我們在ide中打開工程,這里使用的ide是idea,工程的目錄結(jié)構(gòu)為:


image

可以看到工程中有maven的pom文件,也自動(dòng)創(chuàng)建了SpringbootStartApplication.java該類為springboot的啟動(dòng)類,待會(huì)兒我們一起看下這個(gè)類,先看下maven的pom文件有哪些。這里主要是依賴了springboot的1.4.7版本,目前最新已經(jīng)更新到1.5.6了,這里沒有用最新版本,還是不當(dāng)小白鼠了,在dependency中依賴了spring-boot-starter-web還有個(gè)test測試的組件,如果不寫測試代碼,可以不使用該test組件,最后還加入了支持springboot的maven plugin組件。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
剛看完了pom文件,在導(dǎo)入工程的時(shí)候,ide一般會(huì)自動(dòng)導(dǎo)入依賴庫,在國內(nèi)訪問maven的依賴庫速度感人,建議使用阿里云的maven鏡像服務(wù)器,或者使用公司的maven私服,如果公司沒有私服或者自己學(xué)習(xí)可以直接使用阿里云的鏡像速度還是不錯(cuò)的,maven setting.xml中需要添加mirror地址,具體如何配置這里就不詳細(xì)描述了,可以自行百度,這里也順便附上阿里云maven地址:

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
配置好了pom后,我們一起看下自動(dòng)生成的Application.java這個(gè)類相當(dāng)于我們程序的main函數(shù)入口,這里再順便介紹下因?yàn)閟pringboot集成了Tomcat和Jetty,默認(rèn)使用Tomcat作為應(yīng)用容器,開發(fā)者只需要將工程打成jar包直接丟到服務(wù)器上就可以執(zhí)行了,不需要再單獨(dú)部署到was、jboss、tomcat這些應(yīng)用服務(wù)器上。
SpringBootStartApplication.java

@SpringBootApplication
public class SpringbootStartApplication {

public static void main(String[] args) {
SpringApplication.run(SpringbootStartApplication.class, args);
}
}
所有的springboot application啟動(dòng)類都需要在類級(jí)別上加上@SpringBootApplication注解,其他參數(shù)不用任何調(diào)整,后續(xù)可以把一些初始化的動(dòng)作放到該類中進(jìn)行,目前本例中就不加其他的啟動(dòng)加載項(xiàng)了。
這樣一個(gè)api網(wǎng)關(guān)的架子就搭好了,是不是很簡單!下面我們就可以將主要精力聚焦在業(yè)務(wù)邏輯代碼上了,這里為了簡化程序,不會(huì)將項(xiàng)目進(jìn)行深入的分層設(shè)計(jì),在實(shí)際項(xiàng)目中,一般都會(huì)對項(xiàng)目進(jìn)行分層設(shè)計(jì),如果是api網(wǎng)關(guān),沒有view層但是起碼也會(huì)有對外接入decontroller層、處理業(yè)務(wù)邏輯的service層、處理數(shù)據(jù)持久化的dao層,同時(shí)也會(huì)有一些POJO業(yè)務(wù)實(shí)體類,這里就不詳細(xì)展開了,后續(xù)也會(huì)對互聯(lián)網(wǎng)架構(gòu)設(shè)計(jì)進(jìn)行詳細(xì)講述,這里我們只創(chuàng)建了一個(gè)UserController類,里面只有獲取用戶信息的方法,分別根據(jù)參數(shù)和請求方式的不同用三種方法進(jìn)行了重寫,下面就來一一道來。

先來講述下最簡單的使用get請求用戶信息的實(shí)現(xiàn)方式,代碼如下,寫好后直接在Application類點(diǎn)擊右鍵有個(gè)RunAs,點(diǎn)擊后會(huì)自動(dòng)運(yùn)行,運(yùn)行成功后可以使用http發(fā)包工具進(jìn)行測試,這里推薦使用chrome的postman或者使用firefox的httprequester插件,都是比較簡單的發(fā)包工具,get請求的上送為http://localhost:8081/springboot/getUserByGet?userName=feiweiwei

//@RestController注解能夠使項(xiàng)目支持Rest
@RestController
@SpringBootApplication
//表示該controller類下所有的方法都公用的一級(jí)上下文根
@RequestMapping(value = "/springboot")
public class UserController {
//這里使用@RequestMapping注解表示該方法對應(yīng)的二級(jí)上下文路徑
@RequestMapping(value = "/getUserByGet", method = RequestMethod.GET)
String getUserByGet(@RequestParam(value = "userName") String userName){
return "Hello " + userName;
}
}
這里用到的注解主要有@RequestMapping表示請求的URL上下文路徑,該路徑不能重復(fù),為了保證與團(tuán)隊(duì)其他同事寫的不重復(fù),一般會(huì)在每個(gè)controller前面加一個(gè)一級(jí)上下文目錄,具體路徑參數(shù)放在value后面,在每個(gè)方法前加一個(gè)二級(jí)目錄,這樣可以有效的避免路徑?jīng)_突。還有注解是@RequestParam,該注解可以通過value指定入?yún)?#xff0c;這里return的返回值就是實(shí)際的接口返回。

下面介紹下POST的請求方式,可以通過在@RequestMapping注解中設(shè)置method為POST來表示該請求為POST請求,除了get、post還有put、delete等請求方式,都可以通過該參數(shù)設(shè)置。

//通過RequestMethod.POST表示請求需要時(shí)POST方式
@RequestMapping(value = "/getUserByPost", method = RequestMethod.POST)
String getUserByPost(@RequestParam(value = "userName") String userName){
return "Hello " + userName;
}
下面介紹下請求參數(shù)為JSON格式的請求方法的寫法,這里需要注意下如果請求參數(shù)是像上面那樣通過url form形式提交的請求參數(shù),那么必須使用@RequestParam注解來標(biāo)示參數(shù),如果使用的請求報(bào)文是POST形勢的JSON串,那么這里在入?yún)⒌淖⒔庖欢ㄒ褂?#64;RequestBody,否則會(huì)報(bào)json解析錯(cuò)誤。

//在入?yún)⒃O(shè)置@RequestBody注解表示接收整個(gè)報(bào)文體,這里主要用在接收整個(gè)POST請求中的json報(bào)文體,
//目前主流的請求報(bào)文也都是JSON格式了,使用該注解就能夠獲取整個(gè)JSON報(bào)文體作為入?yún)?#xff0c;使用JSON解析工具解析后獲取具體參數(shù)
@RequestMapping(value = "/getUserByJson",method = RequestMethod.POST)
String getUserByJson(@RequestBody String data){
return "Json is " + data;
}
3. 小結(jié)
到此一個(gè)簡單的restful風(fēng)格的api網(wǎng)關(guān)就完成了,對于移動(dòng)開發(fā)人員可以自己寫簡單的服務(wù)端進(jìn)行全棧開發(fā)了,原來做spring的同學(xué)也可以很快上手springboot,springboot總體上來說還是簡化了原先復(fù)雜的配置,讓大家更容易快速上手和搭建服務(wù)端,代碼的git地址在下方,歡迎大家下載,謝謝。

git代碼地址:https://github.com/feiweiwei/springboot-start.git

?


---------------------
作者:liutong123987
來源:CSDN
原文:https://blog.csdn.net/liutong123987/article/details/79385513
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!

轉(zhuǎn)載于:https://www.cnblogs.com/sjqq/p/10079344.html

總結(jié)

以上是生活随笔為你收集整理的使用spring initialization创建SpringBoot项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。