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

歡迎訪問 生活随笔!

生活随笔

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

javascript

SpringBoot编写HelloWorld-new

發(fā)布時(shí)間:2024/4/13 javascript 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot编写HelloWorld-new 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們通過剛剛創(chuàng)建的SpringBoot項(xiàng)目,來完成一個(gè)HelloWorld,首先打開我們的項(xiàng)目,我們看一下項(xiàng)目中的pom文件,我們已經(jīng)添加一個(gè)WEB版的坐標(biāo),那么也就意味著,我們?cè)谧鯳EB的常用一些jar包,也都會(huì)注入到我們的項(xiàng)目當(dāng)中,這里包含了SpringMVC的一些jar包,那么也就意味著,其實(shí)在我們的項(xiàng)目當(dāng)中,通過編寫SpringMVC的Controller,去完成一個(gè)HelloWorld的處理,那么接下來我們就來編寫一個(gè)Controller,在這里我來new一個(gè)Class,起個(gè)名我們叫HelloController@Controller public class HelloWorld {@RequestMapping("/hello")@ResponseBodypublic Map<String, Object> showHelloWorld(){Map<String, Object> map = new HashMap<>();map.put("msg", "HelloWorld");return map;} }其實(shí)在SpringBoot中去編寫Controller和在SpringMVC中編寫Controller的流程是一樣的,我需要加一個(gè)Annotation,這個(gè)Annotation叫做@Controller,標(biāo)記出它是一個(gè)Controller,然后添加一個(gè)能夠處理用戶請(qǐng)求的方法,由于我們現(xiàn)在并沒有講整合視圖層的技術(shù),所以我現(xiàn)在只能返回一個(gè)JSON格式的數(shù)據(jù),那么在這個(gè)方法當(dāng)中我讓他返回一個(gè)Map,方法名叫showHelloWorld,在這個(gè)方法當(dāng)中呢,我們先來創(chuàng)建一個(gè)Map,我們要把方法和URL綁定,我們同樣用到RequestMapping,然后在這里添加URI,由于我們的返回要做JSON處理,所以我們還要使用ResponseBody的Annotation,我們知道ResponseBody在做JSON轉(zhuǎn)換的時(shí)候,需要依賴于Jackson的jar包,那么我們WEB啟動(dòng)器當(dāng)中,有沒有將Jackson注入進(jìn)來呢,我們打開MavenDependecies看一下,其實(shí)jackson的jar包已經(jīng)注入進(jìn)來了,所以這一塊是沒有問題的,我們的返回Helloworld的Controller就已經(jīng)編寫完畢了,第二步啟動(dòng)SpringBoot,那么我們?nèi)绾螁?dòng)SpringBoot呢,這里我們需要編寫一個(gè)啟動(dòng)類,其實(shí)啟動(dòng)類的名字你叫什么都可以,然后啟動(dòng)類當(dāng)中要包含一個(gè)main方法@SpringBootApplication public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);} }我們需要在啟動(dòng)類上加一個(gè)Annotation,這個(gè)Annotation叫什么呢,叫@SpringBootApplication,這個(gè)Annotation的作用呢,對(duì)啟動(dòng)類的一個(gè)標(biāo)記處理,只要在某個(gè)類上添加這個(gè)標(biāo)記,那么也就意味著,這個(gè)類就是SpringBoot的啟動(dòng)類,然后我們要在啟動(dòng)類上添加一個(gè)main方法,在執(zhí)行方法當(dāng)中,我們調(diào)用Springboot中提供的一個(gè)靜態(tài)方法,這個(gè)靜態(tài)方法就是Springboot在啟動(dòng)時(shí),需要調(diào)用的初始方法,這個(gè)方法位于哪兒呢,位于SpringApplication類當(dāng)中,有一個(gè)run,這個(gè)run方法需要兩個(gè)參數(shù),第一個(gè)參數(shù)需要的是你當(dāng)前啟動(dòng)類的class模板,模板對(duì)象,App.class,第二個(gè)參數(shù)就是main方法傳過來的入?yún)?這樣我們就將一個(gè)啟動(dòng)器,這個(gè)時(shí)候我們可以看到SpringBoot啟動(dòng)時(shí)的一些輸出信息,這個(gè)時(shí)候沒有 異常出現(xiàn),說明SpringBoot是啟動(dòng)成功的,我們能不能訪問Controller得到結(jié)果呢,我們?cè)跒g覽器輸入localhost:8080/hello我們是將這個(gè)地址做了一個(gè)綁定{msg: "HelloWorld" }這個(gè)時(shí)候我們可以看到,顯示出來了,map的JSON轉(zhuǎn)換,說明我們的HelloWorld是成功的,我們?cè)賮砜匆豢吹谌齻€(gè)問題,關(guān)于編寫啟動(dòng)器需要注意的問題,其實(shí)編寫啟動(dòng)器還是比較簡單的,但是這里有一個(gè)小的細(xì)節(jié)需要我們注意,就是啟動(dòng)器所出現(xiàn)的位置,需要我們注意,什么意思呢,大家可以看到我這個(gè)啟動(dòng)器,放到了Controller上一級(jí)的包中,如果我們把啟動(dòng)器放到Controller包當(dāng)中,讓他和Controller位于同一個(gè)包下,是不是可以呢,啟動(dòng)沒有異常出現(xiàn),是可以的,也就是啟動(dòng)器和Controller位于同一個(gè)包下,是沒問題的,如果我現(xiàn)在再建一個(gè)包,這個(gè)包和controller位于同一個(gè)包下,位于同級(jí)別的,我把App拿過去,這個(gè)時(shí)候我再啟動(dòng),啟動(dòng)沒有問題,但是這個(gè)時(shí)候看到了一個(gè)錯(cuò)誤頁面,這是什么問題引起的呢,這個(gè)其實(shí)是我們啟動(dòng)器在啟動(dòng)時(shí),它是從當(dāng)前包下,查找我們所使用的一些組件,那么也就意味著,現(xiàn)在你的啟動(dòng)器和Controller處于一個(gè)平行的結(jié)構(gòu),所以我們的啟動(dòng)器在啟動(dòng)時(shí),無法找到我們的Controller組件,所以這塊是需要我們注意的第一個(gè)地方,啟動(dòng)器存放的位置,啟動(dòng)器可以和Controller放在同一個(gè)包下,或者位于Controller的上級(jí)包,但是不能放到Controller的平級(jí)以及子包下,這個(gè)是我們需要注意的一點(diǎn) <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.learn</groupId><artifactId>01-spring-boot-hello</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.12.RELEASE</version></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><!-- springBoot的啟動(dòng)器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> </dependencies> </project> package com.learn.controller;import java.util.HashMap; import java.util.Map;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;@Controller public class HelloWorld {@RequestMapping("/hello")@ResponseBodypublic Map<String, Object> showHelloWorld(){Map<String, Object> map = new HashMap<>();map.put("msg", "HelloWorld");return map;} } package com.learn;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;/*** SpringBoot 啟動(dòng)類* @author Leon.Sun**/ @SpringBootApplication public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);} }

?

總結(jié)

以上是生活随笔為你收集整理的SpringBoot编写HelloWorld-new的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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