摘要:在創建好的空的中創建新的。其實到目前為止,正常情況下我們入門已經搭建好了,只需執行的入口就可以。例如使用類似上面的包結構。代碼如下重新運行一下程序,網址訪問后就會看到信息了。
記錄工作學習點點滴滴,希望對大家有幫助
問題描述之前使用windows的idea環境自動搭建springboot并沒有出現問題,所以覺得很簡單,轉移的mac ox平臺想著自己也搭建一下springboot的微服務,突然發現訪問不到了,很是難受,也在百度中搜尋了很久,基本文章都是一樣的,所以特意打算寫一篇文章,總結一下各類問題。
1. 環境搭建jdk 1.8
IntelliJ IDEA 2017.2.5
環境搭建的方式就不多介紹了,原諒我
2. SpringBoot快速搭建這里簡單介紹一下idea 的目錄結構,好多情況下,剛剛從eclipse中轉過來的朋友們總是被idea的目錄結構搞的很難受,有的時候想要像eclipse那樣創建一個workspace,在里面創建一些工程,那么在idea中我們怎么做呢?
首先我們要知道,在idea中的一個project就相當于是eclipse中的一個workspace,而每一個module就好像是一個project,所以我們采用如下方式創建springboot工程。
創建一個空的project 。 File->New->Project->左側最下面的Empty Project->接著選擇目錄存儲位置和project的名字就可以了。
在創建好的空的project中創建新的module。File->New->Module->Spring Initializr->采用默認配置 直接next->繼續采用默認next->接著將web項打勾->接著就是給springboot項目起名字,并設置該項目的存放位置,路徑要放在空的project下。
ok!其實到目前為止,正常情況下我們入門springboot已經搭建好了,只需執行springboot 的入口就可以。
@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
控制臺輸出如下則證明啟動成功:
2017-11-09 14:58:47.432 INFO 10039 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http) 2017-11-09 14:58:47.437 INFO 10039 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 1.978 seconds (JVM running for 2.542)
這個表示springboot內置的tomcat已經啟動成功,并且端口在8080,這個時候可能有同學已經按耐不住,就會去訪問:http://localhost:8080.
3.問題分析-localhost:8080的404錯誤當然結果可能會是如下信息:
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Thu Nov 09 16:09:12 CST 2017 There was an unexpected error (type=Not Found, status=404). No message available
當時我也被這個問題困擾了好久, 看到了一篇文章專門介紹這個,大概意思是再說我們的tomcat啟動了,但是并不存在tomcat的主頁面,所以要想在springboot啟動的tomcat中看到tomcat的頁面,需要進行配置。
3.問題分析-localhost:8080/hello的404錯誤當然我們的目的并不是訪問tomcat的主頁,接著我們編寫一個controller來訪問一下。
注意這里在創建controller的時候要注意一下規則,我們的controller要位于程序main 方法的包或其子包下,不然springboot是掃描不到我們的controller的。
例如:
com.example.demo.Application.java
com.example.demo.controller.HelloController.java
...
使用類似上面的包結構。
Controller代碼如下:
@RestController public class HelloController { @RequestMapping("/hello") public String helloTest(){ return "Hello World!"; } }
重新運行一下程序,網址訪問http://localhost:8080/hello 后就會看到Hello World!信息了。
有人說404問題呢?如果你不小心把類上面的@RestController寫成了@Controller,那么你再去訪問,結果就是404沒跑了。
@RestControllera :convenience annotation that does nothing more than adding the@Controller and @ResponseBody annotations。 @RestController是@Controller和@ResponseBody的結合體,兩個標注合并起來的作
@Controller: 標識一個Spring類是Spring MVC controller處理器
共同點:都來表示Spring某個類的是否可以接收HTTP請求
最后的我的解決方案就是:將Controller類上面的注解@Controller改寫成@RestController。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67999.html
摘要:一從零開始環境搭建對于之前的框架的使用,各種配置文件一旦出錯之后錯誤難尋,這也是為什么被推上主流的原因,的配置簡單,說分鐘能從框架的搭建到運行也不為過現在更是微服務當道,所以在此總結下的一些知識,新手教程是一個基于和概念的項目自動化構建開源 SpringBoot2.x【一】從零開始環境搭建 對于之前的Spring框架的使用,各種配置文件XML、properties一旦出錯之后錯誤難尋,...
摘要:熱加載代表的是我們不需要重啟服務器,就能夠類檢測得到,重新生成類的字節碼文件無論是熱部署或者是熱加載都是基于類加載器來完成的。驗證階段字節碼文件不會對造成危害準備階段是會賦初始值,并不是程序中的值。 一、SpringBoot入門 今天在慕課網中看見了Spring Boot這么一個教程,這個Spring Boot作為JavaWeb的學習者肯定至少會聽過,但我是不知道他是什么玩意。 只是大...
摘要:在文章微服務調用鏈追蹤中心搭建一文中模擬出來的調用鏈就是一個遠程調用的例子,只不過這篇文章里是通過這種同步調用方式,利用的是協議在應用層完成的,這種方法雖然奏效,但有時效率并不高。 showImg(https://segmentfault.com/img/remote/1460000014858219); 一、概述 RPC(Remote Procedure Call)即 遠程過程調...
摘要:在文章微服務調用鏈追蹤中心搭建一文中模擬出來的調用鏈就是一個遠程調用的例子,只不過這篇文章里是通過這種同步調用方式,利用的是協議在應用層完成的,這種方法雖然奏效,但有時效率并不高。 showImg(https://segmentfault.com/img/remote/1460000014858219); 一、概述 RPC(Remote Procedure Call)即 遠程過程調...
摘要:可以在地址看到如何使用講解下上面命令行表示控制臺端口號,可以在瀏覽器中通過控制臺來執行的相關操作。同時從控制臺可以看到發送的速率多線程測試性能開了個線程,每個線程發送條消息。 showImg(http://ww2.sinaimg.cn/large/006tNc79ly1g5jjb62t88j30u00gwdi2.jpg); 前提 上次寫了篇文章,《SpringBoot Kafka 整合...
閱讀 890·2021-10-25 09:44
閱讀 1260·2021-09-23 11:56
閱讀 1183·2021-09-10 10:50
閱讀 3130·2019-08-30 15:53
閱讀 2132·2019-08-30 13:17
閱讀 616·2019-08-29 18:43
閱讀 2490·2019-08-29 12:57
閱讀 854·2019-08-26 12:20