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

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

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

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

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

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

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

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

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

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

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

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

  1. 使用Intellij Idea创建第一个SpringBoot+MyBatis+MySql项目并运行(附安装教程),使用Maven构建项目并管理第三方jar

    Intellij Idea 背景 开发工具及主要框架 Maven 下载安装 settings.xml修改 IDEA配置Maven 注册私有jar Maven打包 MySql安装 配置环境变量 Inte ...

  2. java前后端分离框架_Spring Boot 入门及前后端分离项目实践

    本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发.Spring Boot ...

  3. spring定时每天早上八点_Spring Boot教程(13) – 简单定时任务

    "每隔几分钟执行一个任务"这种需求,几乎在每个项目里都有可能遇到.Spring框架提供了一种简单的方式来完成这一需求.你只需要在定时执行的方法上加上注解就行了. 首先你需要开启这一 ...

  4. 端口如何支持非localhost访问_Spring Boot 教程:CORS 支持

    [注]本文译自: https://www.tutorialspoint.com/spring_boot/spring_boot_cors_support.htm 跨域资源共享 (CORS) 是一个安全 ...

  5. linux部署jar项目报错_Spring boot项目部署linux系统tomcat报错解决办法

    一.问题出现的场景: 一个Spring boot项目,使用log4j打印日志,在windows tomcat中部署正常启动,但是在linux系统中部署到tomcat 中时报了如下的错误:java.io ...

  6. rabbitmq 消息长度_Spring Boot教程(29) – RabbitMQ必备基础

    RabbitMQ是使用最广泛的开源消息队列中间件之一,它是用Erlang写的,并实现了高级消息队列协议AMQP.消息队列可以在应用间交换消息,实现解耦.异步处理.削峰.缓冲等目的,应用场景还是比较丰富 ...

  7. java 项目启动初始化_Spring Boot解决项目启动时初始化资源的方法

    前言 在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等.今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初 ...

  8. 【Spring Boot教程】(七):自定义项目启动的彩蛋

    打开网址http://patorjk.com/software/taag/将字符转为字符画 拷贝生成的字符画到名为banner.txt文件中 将banner.txt拷贝到项目的resources目录中 ...

  9. idal 创建springboot 项目_手把手的SpringBoot教程,SpringBoot创建web项目(四)

    在实际的开发过程中,我们需要前端页面向Java端提交请求,这些请求一般分为get方式和post方式,不管是哪一种方式,一般都会携带一些参数.这一节,我们来演示一下如何给Controller传递参数. ...

最新文章

  1. 一起学WP7 XNA游戏开发(三.二 Sprite Texture Font)
  2. mysql数据采集中间件_开源 | MySQL数据传输中间件—DTLE
  3. Win服务器2008和2012哪个更好?
  4. activesync对应的COM口
  5. C++中的空类与空结构体大小
  6. 算法--三种方法求连续子数组的最大和
  7. 操作系统【磁盘调度算法 例题】
  8. 部署Squid 代理服务器(内含传统、透明代理服务器的配置、ACL访问控制、日志分析、反向代理)
  9. C#中LINQ与数据管道
  10. java国际化——日期和时间+排序
  11. (89)Verilog HDL系统函数和任务:$fwrite
  12. R40 gpio 寄存器地址操作【原创】
  13. redis高级用法:geo位置相关信息
  14. Red5 9的安装配置以及AS3连接red5简单示例 .
  15. 简洁大气的网站微信QQ防红跳转代码
  16. 三菱触摸屏通讯错误_s7-200和三菱触摸屏通讯的问题
  17. jquery判断select的选中 selected
  18. 华住2.0? 5亿万豪用户信息泄漏! 个人隐私如何保护? 离不开区块链
  19. 蹩脚的Access分页语句
  20. 大公司github官网整理链接

热门文章

  1. 在ASP.NET中自动给URL地址加上超链接(好东东)
  2. 计算机做游戏到大学要学什么,大学学什么专业,毕业才能从事电竞行业?
  3. Android 动画以view中心点旋转动画
  4. 接口测试到底是什么?如何制造接口数据
  5. Java 的Tuple(类似.net等的元组)
  6. java弹出提示窗口_Java实现弹窗效果的基本操作(2)
  7. boot整合redis
  8. vscode私钥设置_VSCode远程开发配置指南
  9. 随手练——洛谷-P1008 / P1618 三连击(暴力搜索)
  10. Golang 学习资料