javascript
非maven配置SpringBoot框架
?
簡(jiǎn)介
?
最近看SpringBoot框架非常火,所以嘗試的參照資料學(xué)習(xí)了一下SpringBoot框架,
起初是搭建的maven項(xiàng)目,可是個(gè)人覺得maven項(xiàng)目搭建起來(lái)不太方面(還有網(wǎng)絡(luò)
原因),所以我這性格比較受不了,就在網(wǎng)上手動(dòng)把SpringBoot簡(jiǎn)單程序需要的包
都下載到了本地。如果你跟我一樣也是剛開始使用SpringBoot并加載本地jar包,
那你真是來(lái)對(duì)了~~
?
springboot介紹
?
通過(guò)網(wǎng)上的資料,我簡(jiǎn)單地了解一下SpringBoot?
?1.敏捷開發(fā)(整合框架)
?2.無(wú)需Tomcat (java應(yīng)用程序運(yùn)行,實(shí)際jar包),內(nèi)置Tomcat
?3.減少xml配置(沒有xml),配置文件properties。
?4.微服務(wù)框架主流 SpringCloud+SpringBoot
?5.注解:提供了很多注解
?SpringBoot--和微服務(wù)有什么關(guān)聯(lián)?
?目前來(lái)說(shuō)SpringCloud(http接口+test),基于SpringBootweb組件封裝SpringMVC
?
?原理:
?微服務(wù)架構(gòu)的SpringCloud做的RPC遠(yuǎn)程調(diào)用,用到的接口協(xié)議是這個(gè)PRC協(xié)議,
?通過(guò)json傳參數(shù),
?SpringCloud核心依賴是springboot,springboot核心是依賴的springmvc
?
?簡(jiǎn)單的搭建需要什么包
?
我在這搭建的時(shí)候下載到本地,用到了31個(gè)jar包,通過(guò)網(wǎng)上查找有用30個(gè)包搭建的,
可是后來(lái)運(yùn)行我這里出現(xiàn)了問(wèn)題,所以添加了一個(gè)包解決掉了這個(gè)問(wèn)題
需要的包如圖:
?
?
?
如果需要jar包的小伙伴可以聯(lián)系我或者在下方評(píng)論~~
?
配置簡(jiǎn)單的SpringBoot
?
首先,添加本地jar包到我的web項(xiàng)目,如果您是老司機(jī)請(qǐng)直接看代碼~
?
正常創(chuàng)建web項(xiàng)目
我在這正常下一步,項(xiàng)目取名:MySpringBoot01,正常Finish(因?yàn)镾pringBoot基本不用xml文件,所以直接下一步)
然后進(jìn)入導(dǎo)包步驟
?
因?yàn)镾pringBoot內(nèi)置Tomcat,我也添加了Tpmcat的核心包,所以在運(yùn)行時(shí)會(huì)因?yàn)榘悰_突出現(xiàn)錯(cuò)誤,
所以我在這Remove掉Tomcat的包,解決掉沖突使程序正常運(yùn)行
然后添加SpringBoot需要的本地jar包
最后應(yīng)用(點(diǎn)擊Apply),在點(diǎn)擊OK 。完成基本的配置操作
?
?
?
代碼實(shí)現(xiàn)SpringBoot
首先創(chuàng)建一個(gè)HelloSpringBoot的類
?
終于到最后的代碼操作了。廢話不多說(shuō) 我直接上代碼
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;@Controller @EnableAutoConfiguration public class HelloSpringBoot {@RequestMapping("/index")@ResponseBodypublic String index(){return "Hello Word!";}//入口程序public static void main(String[] args) {//主函數(shù)運(yùn)行springboot項(xiàng)目SpringApplication.run(HelloSpringBoot.class, args);} }?
?
如果你之前用過(guò)SSM框架,相信你大致可以看明白了
我既然沒有Tomcat服務(wù)器,我肯定需要個(gè)入口來(lái)運(yùn)行我的SpringBoot程序,
所以用到了SpringApplication.run()這個(gè)方法啟動(dòng)內(nèi)置的Tomcat服務(wù)器。
?
注解
@Controller:
用于定義控制器類,在spring 項(xiàng)目中由控制器負(fù)責(zé)將用戶發(fā)來(lái)的URL請(qǐng)求轉(zhuǎn)發(fā)
到對(duì)應(yīng)的服務(wù)接口(service層),一般這個(gè)注解在類中,通常方法需要配合注
解@RequestMapping使用。像上述代碼通過(guò)RUL的index請(qǐng)求,來(lái)響應(yīng)我的方法。
@EnableAutoConfiguration:
Spring Boot自動(dòng)配置(auto-configuration):嘗試根據(jù)你添加的jar依賴自動(dòng)配置
你的Spring應(yīng)用。例如,如果你的classpath下存在HSQLDB,并且你沒有手動(dòng)配置
任何數(shù)據(jù)庫(kù)連接beans,那么我們將自動(dòng)配置一個(gè)內(nèi)存型(in-memory)數(shù)據(jù)庫(kù)”。
?
@ResponseBody:
表示該方法的返回結(jié)果直接寫入http response body中,一般在異步獲取數(shù)據(jù)時(shí)使用,
用于構(gòu)建RESTful的api。在使用@RequestMapping后,返回值通常解析為跳轉(zhuǎn)路徑,
加上@ResponseBody后返回結(jié)果不會(huì)被解析為跳轉(zhuǎn)路徑,直接寫入http response body
中。比如異步獲取json數(shù)據(jù),加上@ResponseBody后,會(huì)直接返回json數(shù)據(jù)。
在SpringBoot中添加了一些新的注解,像@RestController
用法:
?
1 import java.util.HashMap; 2 import java.util.Map; 3 4 import org.springframework.boot.SpringApplication; 5 import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 6 import org.springframework.web.bind.annotation.RequestMapping; 7 import org.springframework.web.bind.annotation.ResponseBody; 8 import org.springframework.web.bind.annotation.RestController; 9 10 11 //@Controller 12 @RestController //相當(dāng)于ResponseBody + Controller 任何一個(gè)方法都以json格式返回 13 14 @EnableAutoConfiguration 15 public class HelloSpringBoot { 16 @RequestMapping("/index") 17 @ResponseBody 18 public String index(){ 19 return "Hello Word!"; 20 } 21 @RequestMapping("/getMap") 22 @ResponseBody 23 public Map<Object,Object> getMap(){ 24 Map<Object,Object> m = new HashMap<>(); 25 m.put(1, "a"); 26 m.put(2, "b"); 27 m.put(3, "c"); 28 return m; 29 } 30 //入口程序 31 public static void main(String[] args) { 32 //主函數(shù)運(yùn)行springboot項(xiàng)目 33 SpringApplication.run(HelloSpringBoot.class, args); 34 } 35 }?
注解
@RestController:
用于標(biāo)注控制層組件(如struts中的action),@ResponseBody和@Controller的合集。
?
運(yùn)行項(xiàng)目
?
?
正常運(yùn)行項(xiàng)目
?
配置成功顯示:
你還可以看到基本的一些信息
我用的是谷歌瀏覽器
在網(wǎng)址寫入 http://localhost:8080/index? ? ?--------> index 就是我 @RequestMapping映射的方法名,映射的url
啟動(dòng)完成!!簡(jiǎn)單的SpringBoot項(xiàng)目搭建成功了~~
?
當(dāng)然你也可以訪問(wèn)getMap,返回的是json格式
? 基本就是這樣,怎么樣 和SpringMVC繁瑣的xml對(duì)比 相對(duì)簡(jiǎn)單把~~
?
?
?
感謝大家觀看此篇文章,如果有什么見解可以留言給我~~
?
2018-03-08
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/cat-/p/8529191.html
總結(jié)
以上是生活随笔為你收集整理的非maven配置SpringBoot框架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 单例模式之懒汉式(线程安全)
- 下一篇: JS非空验证