apicloud项目怎么运行_Spring Boot教程(3) – 运行第一个项目

ad2ddbf283415e40422b0ef9cd97ba8a.png

把项目运行起来是极具成就感的事情,不管是在学习新语言还是新框架的过程中。上一篇文章说明了如何使用Spring Initializr和IDE来创建项目,下面就看看项目能不能跑起来,我们通过IDE和命令行,直观地理解框架的作用。
先来一张IntelliJ IDEA的截图,为项目刚创建时候的状态。左侧为项目目录区,右侧为代码区。左边,右边和下边都有工具栏,你可以打开终端,可以查看类结构,可以查看Build时候的信息,可以查看运行时候的信息,可以查看Gradle和Maven的依赖以及任务,可以连接数据库,可以查看Spring相关的东西比如各种Bean及其关联等等。界面最上方是文件的目录以及运行相关的按钮。

2d4d9bc5ce85f6c1893d4c1a2228bdfb.png

下面来看看用IntelliJ IDEA怎么跑:

17550dfbc87f7c112c1a5760d1c808c6.png

当你创建好项目后,目录中只有一个DemoApplication.java,这个类是整个程序的入口。当然类的名字可能不一样,根据你写的项目名称,类名也不一样,也许你的叫做BlogApplication,不管名字叫啥,类上总有一个 @SpringBootApplication 注解,这个注解的作用我们以后再详细说明。DemoApplication里有一个main方法,此方法可以作为程序的入口执行,在打开项目之后,IDEA会自动生成一个运行设置(Run Configuration),把DemoApplication作为程序运行的起点。
如果你迫不及待想跑跑看看,可以点击上面的“Run”按钮,绿色三角形那个。两秒之后,程序就跑起来了,下面是运行时输出的信息:

b050351c5722905ab9f68248cb6b0a40.png

这里面是包含了很多东西的,比如Spring Boot版本是2.1.5,内置Tomcat的版本是9.0.19,Web服务器的端口是8080,进程ID为29536等等。这会儿你该疑惑了,我的程序都跑起来了,怎么没有网页跳出来呢?去哪里看呢?你可以打开 localhost:8080 看看:

1249188eacb60205816e0893b22c51c9.png

呀,出错了。因为你的程序虽然跑起来了,然是并不能处理任何请求。那就只能写一个咯。你需要在项目目录中新建一个MainController的类(类名是啥无所谓),内容如下:

f4e0f0611f18c4584176cf64e4a2b829.png

MainController上有一个 @Controller 注解,这个注解告诉框架这个类是用来处理Web请求的。类只有一个home方法,@GetMapping 注解告诉框架home方法可以处理”/”路径也就是根路径上的请求,@ResponseBody 注解表示home方法的返回值就是网络请求的结果,客户端最终会收到。重新运行项目,打开 localhost:8080 再看:

308d9631b9b3bf98cc282fd6c017b569.png


好了,这就OK了,你的第一个项目已经成功运行并且可以处理请求了。还可以在命令行运行
除了在IDE里运行,Gradle也提供了任务(task)在命令行里启动。

2fd580553d6980a3dfae46bd2f2f10e3.png

./gradlew tasks 或者 gradle tasks 都可以查看可以执行的任务,其中bootRun是启动Spring Boot项目的任务,你可以通过以下方式启动:

7675a6dd698f93eba847cdbaad092183.png


这样,我们的项目就启动了,跟在IDE里点“Run”是一样的效果,此时访问浏览器一样可以看到结果。你可能会注意到,还有一个任务叫做bootJar,这个任务就是用来打包的,最终会生成一个jar包,你可以拿来部署或者是演示等等。

af6867c673d329a63d3d68dea70b17c8.png


bootJar任务运行完了之后,会在build/libs目录下得到最终的jar包,通过java -jar 就可以运行。
尽管如此,我还是推荐在IDE中运行,毕竟日常开发,你总会加断点调试什么的,命令行使用起来不太方便。

博客链接:https://fookwood.com/spring-boot-tutorial-3-run

de7fb8daa75e22afb00f93a158ccadc1.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matlab从入门到精通 Chapter5 数据可视化

5-1 图形绘制示例 >> x2-17:0.02:3;>> y21./((x23).^21)1./((x29).^24)5; >> subplot(2,2,2);>> plot(x2,y2,rp);>> axis([-17 3 5 6.5]);>> title(figure2);>> grid on subplot 子图表绘制函数 默认情况下,plot函数将绘…

破解WEP密钥过程全解 (下)

三、实战破解过程1、用Kismet进行网络探测Kismet是一个基于Linux的无线网络扫描程序,这是一个相当方便的工具,通过测量周围的无线信号来找到目标WLAN。虽说Kismet也可以捕获网络上的数据通信,但在还有其他更好的工具使用(如Airodump)&#xf…

mpAndroidchart 坐标和图表距离_【玩转图表系列】六步,美化你的图表,让老板刮目相看!...

近期隆重推出图表分析系列,包括销售分析、盈亏分析、费用分析、趋势分析、进度分析等,通过双坐标图、甘特图、瀑布图、双层饼图等系列图表精美展现,专业高效,让你从初级学到高级、从小白跨越专业。今天开启我们邦邦财玩转图表第一…

SpringBoot+FreeMarker开发word文档下载,预览

背景&#xff1a; 开发一个根据模版&#xff0c;自动填充用户数据并下载word文档的功能 使用freemarker进行定义模版&#xff0c;然后把数据进行填充。 maven依赖&#xff1a; <parent> <groupId>org.springframework.boot</groupId> <artifactId>…

使用 IPsec 与组策略隔离服务器和域-第 7 章 IPsec 疑难解答

本章提供有关如何对 Internet 协议安全性 (IPsec) 问题&#xff08;如服务器和域隔离方案中的安全性问题&#xff09;进行疑难解答的信息&#xff0c;这些信息依赖于 Microsoft 信息技术 (IT) 小组的经验和方法。 在有可能的时候&#xff0c;本章将引用现有的 Microsoft 疑难解…

python 在gui中显示logging_如何在GUI中显示print()的输出python

有几种方法可以显示tkiner中的任何操作的结果。 您可以使用Label,Entry,Text&#xff0c;甚至弹出消息框。还有其他一些选择&#xff0c;但这些可能会是你正在寻找的。 看看下面的例子。 我有一个简单的添加程序&#xff0c;将采取2个数字并将它们添加在一起。它将显示每种字段…

用批处理实现文本文件中指定字符串的替换 zz

主题 用批处理实现文本文件中指定字符串的替换 上一主题 | 下一主题 uglyfrog 发表于&#xff1a;2005-03-02 02:50 回复发帖&#xff1a; 249积分&#xff1a; 0注册&#xff1a; 2001-12-30其实批处理也可以干很多事的&#xff0c;下面的批处理文件实现了对指定目录下的特定…

单片机的单个IO口可以发送数据吗_关于51单片机各个引脚它的功能你了解多少?...

对于40引脚双列直插51单片机各个引脚功能情况分析。P0端口一默认是开漏准双向IO口&#xff0c;没有输出没有驱动能力&#xff0c;要做逻辑输出要在外部接上拉电阻。P0端口除了作为普通的输入输出功能&#xff0c;还可以用来当做数据总线接口或者地址总线&#xff0c;当外面扩展…

Spring-Boot——Cache

简单使用 1. maven 依赖 2. 开启缓存配置 在启动类上开启缓存 EnableCaching 3. 使用缓存 Cacheable 是将方法的返回值保存到缓存中CachePut 是根据key更新缓存中的数据CacheEvict 是根据key删除缓存数据 Cacheable(cacheNames {"emp"}, key "#id") publ…

awk中文手册

awk中文手册下载&#xff1a;http://www.klabaster.com/freeware.htm#mawk1. awk简介awk 是一种编程语言&#xff0c;用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件&#xff0c;或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进…

在vue中操作DOM--this.$nextTick()

虽然 Vue.js 通常鼓励开发人员沿着“数据驱动”的方式思考&#xff0c;避免直接接触 DOM&#xff0c;但是有时我们确实要这么做。比如一个新闻滚动的列表项。如果在这里需要操作dom, 应该是等待 Vue 完成更新 DOM之后。 一、新闻滚动列表 1、在created函数中获取后台数据&#…

python如何移动图片_python之详细图像仿射变换讲解(图像平移、旋转、缩放、翻转),一文就够了,赶紧码住...

仿射变换简介 什么是放射变换 图像上的仿射变换, 其实就是图片中的一个像素点&#xff0c;通过某种变换&#xff0c;移动到另外一个地方。 从数学上来讲&#xff0c; 就是一个向量空间进行一次线形变换并加上平移向量&#xff0c; 从而变换到另外一个向量空间的过程。 向量空间…

git merge用法_常用命令之git操作(进阶篇)

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来&#xff0c;然后在不影响主线的同时继续工作。有人把 Git 的分支模型称为必杀技特性&#xff0c;而正是因为它&#xff0c;将 Git 从版本控制系统家族里区分出来。不同的分支可以理解为…

2G内存刚刚好 浅谈4G内存对笔记本的影响

随着Intel P3x系列芯片组的发布&#xff0c;DDR3内存的普及日益临近&#xff0c;AMD K10系列处理器AM2规格也正式支持DDR3内存&#xff0c;明年即将面临淘汰的DDRII内存是越来越便宜了。很多笔记本用户在购买笔记本的时候都把是否支持4G内存作为一个总要的衡量标准。官方资料里…

由object元素引出的事件注册问题和层级显示问题

项目有一个双击监控视频全屏的需求&#xff0c;视频播放使用的是IE下的ActiveX控件&#xff0c;web页面中使用HTML嵌入对象元素object。预期方案如下&#xff1a; 1.在开发ActiveX控件时加入双击事件。 2.通过div包裹object&#xff0c;控制div的大小从而间接实现全屏效果。 在…

cad钣金展开插件_钣金高级工考试大小头手工展开图步骤教程

提醒&#xff1a;点上方↑↑↑“钣金学习网”免费关注简单方法一: 等分弧画法简单方法二: 角度计算画法1、先画一条中心直线&#xff0c;在线上取一点A&#xff0c;过&#xff21;点画一条与中心线垂直相交线。量取大头半径以&#xff21;点为起点在相交线上标注一点&#…

介绍一个新鲜玩意 开源的杀毒软件

有“免费的午餐”我们为什么不吃呢&#xff1f;杀毒软件一定要购买或用D版吗&#xff1f;先别忙着下结论&#xff0c;请耐心看完本文&#xff0c;然后再告诉我你是怎么想的。&#xff08;一&#xff09;、ClamWin Free Antivirus 开源反病毒软件 GPL协议SourceForge页面&#x…

没有可用软件包 jenkins。_Jenkins分布式构建与并行构建

Jenkins分布式构建与并行构建 jenkins的架构 Jenkins采用的是“masteragent&#xff08;slave&#xff09;”架构。Jenkins master负责提供界面、处理HTTP请求及管理构建环境&#xff1b;构建的执行则由Jenkins agent负责 Jenkins agent的横向扩容&#xff1a;只需要增加agent就…

使用ping命令检查路由之解惑

网络工程师都会用到Ping&#xff0c;它是 检查 路由问题的有效办法。但也常听工程师抱怨&#xff1a;不可能&#xff0c;怎么会不通呢&#xff1f; 这样的困惑一般发生在自认为路由设置正确的时候。举几个笔者遇到的问题&#xff0c;欢迎大家补充。 最简单的三种情况&#xff…

什么是慢查询?如何通过慢查询日志优化?

日志就跟人们写的日记一样&#xff0c;记录着过往的事情。但是人的日记是主观的&#xff08;记自己想记的内容&#xff09;&#xff0c;而数据库的日志是客观的&#xff0c;根据记录内容分为以下好几种日志&#xff1a; a、错误日志&#xff1a;记录启动、运行或停止mysqld时出…