摘要:在创建好的空的中创建新的。其实到目前为止,正常情况下我们入门已经搭建好了,只需执行的入口就可以。例如使用类似上面的包结构。代码如下重新运行一下程序,网址访问后就会看到信息了。
记录工作学习点点滴滴,希望对大家有帮助
问题描述之前使用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。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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 整合...
阅读 873·2021-10-25 09:44
阅读 1237·2021-09-23 11:56
阅读 1082·2021-09-10 10:50
阅读 3015·2019-08-30 15:53
阅读 2045·2019-08-30 13:17
阅读 600·2019-08-29 18:43
阅读 2412·2019-08-29 12:57
阅读 830·2019-08-26 12:20