簡介
最近看SpringBoot框架非常火,所以嘗試的參照資料學習了一下SpringBoot框架,
起初是搭建的maven項目,可是個人覺得maven項目搭建起來不太方面(還有網絡
原因),所以我這性格比較受不了,就在網上手動把SpringBoot簡單程序需要的包
都下載到了本地。如果你跟我一樣也是剛開始使用SpringBoot並加載本地jar包,
那你真是來對了~~
springboot介紹
通過網上的資料,我簡單地了解一下SpringBoot
1.敏捷開發(整合框架)
2.無需Tomcat (java應用程序運行,實際jar包),內置Tomcat
3.減少xml配置(沒有xml),配置文件properties。
4.微服務框架主流 SpringCloud+SpringBoot
5.注解:提供了很多注解
SpringBoot--和微服務有什么關聯?
目前來說SpringCloud(http接口+test),基於SpringBootweb組件封裝SpringMVC
原理:
微服務架構的SpringCloud做的RPC遠程調用,用到的接口協議是這個PRC協議,
通過json傳參數,
SpringCloud核心依賴是springboot,springboot核心是依賴的springmvc
簡單的搭建需要什么包
我在這搭建的時候下載到本地,用到了31個jar包,通過網上查找有用30個包搭建的,
可是后來運行我這里出現了問題,所以添加了一個包解決掉了這個問題
需要的包如圖:
如果需要jar包的小伙伴可以聯系我或者在下方評論~~
配置簡單的SpringBoot
首先,添加本地jar包到我的web項目,如果您是老司機請直接看代碼~
正常創建web項目
我在這正常下一步,項目取名:MySpringBoot01,正常Finish(因為SpringBoot基本不用xml文件,所以直接下一步)
然后進入導包步驟
因為SpringBoot內置Tomcat,我也添加了Tpmcat的核心包,所以在運行時會因為包類沖突出現錯誤,
所以我在這Remove掉Tomcat的包,解決掉沖突使程序正常運行
然后添加SpringBoot需要的本地jar包
最后應用(點擊Apply),在點擊OK 。完成基本的配置操作
代碼實現SpringBoot
首先創建一個HelloSpringBoot的類
終於到最后的代碼操作了。廢話不多說 我直接上代碼
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") @ResponseBody public String index(){ return "Hello Word!"; } //入口程序 public static void main(String[] args) { //主函數運行springboot項目 SpringApplication.run(HelloSpringBoot.class, args); } }
如果你之前用過SSM框架,相信你大致可以看明白了
我既然沒有Tomcat服務器,我肯定需要個入口來運行我的SpringBoot程序,
所以用到了SpringApplication.run()這個方法啟動內置的Tomcat服務器。
注解
@Controller:
用於定義控制器類,在spring 項目中由控制器負責將用戶發來的URL請求轉發
到對應的服務接口(service層),一般這個注解在類中,通常方法需要配合注
解@RequestMapping使用。像上述代碼通過RUL的index請求,來響應我的方法。
@EnableAutoConfiguration:
Spring Boot自動配置(auto-configuration):嘗試根據你添加的jar依賴自動配置
你的Spring應用。例如,如果你的classpath下存在HSQLDB,並且你沒有手動配置
任何數據庫連接beans,那么我們將自動配置一個內存型(in-memory)數據庫”。
@ResponseBody:
表示該方法的返回結果直接寫入http response body中,一般在異步獲取數據時使用,
用於構建RESTful的api。在使用@RequestMapping后,返回值通常解析為跳轉路徑,
加上@ResponseBody后返回結果不會被解析為跳轉路徑,直接寫入http response body
中。比如異步獲取json數據,加上@ResponseBody后,會直接返回json數據。
在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 //相當於ResponseBody + Controller 任何一個方法都以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 //主函數運行springboot項目 33 SpringApplication.run(HelloSpringBoot.class, args); 34 } 35 }
注解
@RestController:
用於標注控制層組件(如struts中的action),@ResponseBody和@Controller的合集。
運行項目
正常運行項目
配置成功顯示:
你還可以看到基本的一些信息
我用的是谷歌瀏覽器
在網址寫入 http://localhost:8080/index --------> index 就是我 @RequestMapping映射的方法名,映射的url
啟動完成!!簡單的SpringBoot項目搭建成功了~~
當然你也可以訪問getMap,返回的是json格式
基本就是這樣,怎么樣 和SpringMVC繁瑣的xml對比 相對簡單把~~
感謝大家觀看此篇文章,如果有什么見解可以留言給我~~
2018-03-08