SpringBoot 启动方式有那些?

SpringBoot 有4种方式进行启动,具体方式如下:

  1. IDEA方式启动
  2. Eclipse 方式启动
  3. Maven 启动方式
  4. 通过SpringBoot 程序 jar 包启动

每种启动方式操作演示

1 IDEA方式启动

选中我们的 SpringBoot 项目,通过下图操作方式进行正常启动 或者 Debug 方式进行启动。

也可以通过打开 SpringBoot 的启动类,右击选择 Run StartdemoApplication 进行正常方式启动,选择 Debug StartdemoApplication 进行 Debug 方式的启动。

2 Eclipse 启动方式

通过Eclipse 创建好我们的 SpringBoot 项目后,选中项目然后点击 Run As,然后在点击 Spring Boot App 就可以启动 SpringBoot 项目。具体操作: 选择项目-> Run As-> Spring Boot App 具体操作如下图:

也可以通过Debug 方式进行启动,方式和上面一样。不同的是我们要选择 Debug As,具体操作: 选择项目-> Run As-> Debug As 具体操作如下图:

除了通过上面选择项目的方式,我们还可以点击springboot 启动类,通过执行main方法来启动项目。具体操作如下图:
点击 Java Application 和 Sprign Boot App 效果是一样的。

3 Maven 启动方式

通过cmd 进入到我们 SpringBoot 项目的根目录中,然后执行 mvn spring-boot:run 就可以运行我们的 SpringBoot 项目啦。

startdemo 项目目录下内容如下:

4 通过 SpringBoot 程序 jar 包启动

首先将程序打包并且跳过单元测试 mvn clean package -Dmaven.test.skip=true,然后将打好的jar包通过 java -jar xxx.jar 来启动。

具体操作方式如下图:

执行完打包命令后在 targer目录下会有一个可执行的 jar。

执行 java -jar startdemo-0.0.1-SNAPSHOT.jar 如下图所示:

指定 端口

通过 java -jar -Dserver.prot 可以指定SpringBoot项目启动的端口号,具体操作如下:
java -jar -Dserver.prot=端口号 jar包名称

指定配置文件进行启动

在 SpringBoot 的 application.ym 配置文件中配置如下图配置:

创建我们开发环境的配置 具体配置如下图:

创建我们的正式环境配置具体配置如下图:

正常启动 SpringBoot 项目会以后缀为dev的配置文件进行启动

我们可以通过 java -jar -Dspring.profiles.active 来动态执行具体执行那个后最配置文件。具体操作如下:

将 SpringBoot 执行 mvn clean package -Dmaven.test.skip=true, 如下图所示:

执行 java -jar -Dspring.profiles.active=配置文件后缀 jar包名称 如下图所示:

小结

工作中你可以根据需要采用上述方式任一启动方式来启动SpringBoot,一般情况下根据你使用的开发工具采用 IDEA方式启动或Eclipse 方式启动。如果使用 SpringCloud 的方式情况下对于不需要进行开发而且必须启动的项目可以使用 java -jar的方式。

玩转SpringBoot 2 之项目启动篇的更多相关文章

  1. springboot 初始化 web 项目 启动报错。。。一直解决不了

    1. 一个简单的SpringBoot项目,启动时报错信息: ERROR 18688 --- [cat-startStop-1] org.apache.catalina.core.ContainerBa ...

  2. 玩转 SpringBoot 2 快速整合 | JSP 篇

    前言 JavaServer Pages(JSP)技术使Web开发人员和设计人员能够快速开发和轻松维护利用现有业务系统的信息丰富的动态Web页面. 作为Java技术系列的一部分,JSP技术可以快速开发独 ...

  3. 升级了Springboot版本后项目启动不了了

    问题背景 项目上使用的springboot版本是2.1.1.RELEASE,现在因为要接入elasticsearch7.x版本,参考官方文档要求,需要将springboot版本升级到2.5.14. 本 ...

  4. 玩转 SpringBoot 2 快速整合 | FreeMarker篇

    FreeMarker 介绍 Apache FreeMarker™是一个模板引擎:一个Java库,用于根据模板和更改数据生成文本输出(HTML网页,电子邮件,配置文件,源代码等).模板是用FreeMar ...

  5. 玩转 SpringBoot 2 快速整合 | Thymeleaf 篇

    前言 Thymeleaf是一个适用于Web和独立环境的现代服务器端Java模板引擎. Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 - 可以在浏览器中正确显示的HTML,也可以用 ...

  6. 玩转 SpringBoot 2 快速搭建 | RESTful Api 篇

    概述 RESTful 是一种架构风格,任何符合 RESTful 风格的架构,我们都可以称之为 RESTful 架构.我们常说的 RESTful Api 是符合 RESTful 原则和约束的 HTTP ...

  7. Springboot项目启动后自动创建多表关联的数据库与表的方案

    文/朱季谦 在一些项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时,需能自行构建系统需要的数据库及其对应的数据库表. 若要解决这类需求,其实现在已有不少开源框架都能实现自动生成数据 ...

  8. Springboot 项目启动后执行某些自定义代码

    Springboot 项目启动后执行某些自定义代码 Springboot给我们提供了两种"开机启动"某些方法的方式:ApplicationRunner和CommandLineRun ...

  9. springboot 学习之路 9 (项目启动后就执行特定方法)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

随机推荐

  1. spring 事务隔离级别导致的bug

    事情是这样的,ios进货单有一个数量加一手,减一手的功能,每加减一次就会异步调用后台的接口,后台判断sku如果不存在就插入,存在就更新.   问题描述: 当ios发了多次请求后, 在第二次请求的时候, ...

  2. java基础知识必备(一)

    一,开发前奏        a.Java语言的发展历史.       Java语言是美国Sun公司(Stanford University Network/斯坦福大学网络公司),       在199 ...

  3. Vue事件修饰符详解

    整体学习Vue时看到Vue文档中有事件修饰符的描述,但是看了之后并没有理解是什么意思,于是查阅了资料,现在记录下来与大家分享 先给大家画一个示意图理解一下冒泡和捕获 (1) .stop修饰符 请看如下 ...

  4. 【Intellij IDEA】设置 jdk 版本

    File -> Project Structure... -> Project,如图所示:

  5. codeforces 318 A.Even Odds B.Sereja and Array

    A.Even Odds 给你n和k, 把从1到n先排奇数后排偶数排成一个新的序列,输出第k个位置的数. 比如 10 3  拍好后就是 1 3 5 7 9 2 4 6 8 10   第3个数是5. // ...

  6. java的jar打包工具的使用

    java的jar打包工具的使用 java的jar是一个打包工具,用于将我们编译后的class文件打包起来,这里面主要是举一个例子用来说明这个工具的使用. 在C盘下的temp文件夹下面:         ...

  7. 你了解HTTPS,但你可能不了解X.509

    世上根本就没有HTTPS协议,只有HTTP协议.——知乎某答友 某天,收到领导指示:学习一下X.509相关原理. 很多开发者可能和我一样觉得X.509这个词很陌生,但其实我们经常和它打交道,属于典型的 ...

  8. 七牛云qshell工具定时备份空间文件到本地

    qshell 是利用七牛文档上公开的 API实现的一个方便开发者测试和使用七牛API服务的命令行工具,使用该工具可以实现很多的功能,今天就分享一下利用qshell定时备份空间文件到本地 1.下载qsh ...

  9. 学习TensorFlow的第一天

    https://www.cnblogs.com/wangxiaocvpr/p/5902086.html

  10. Hystrix超时测试

    package com.cookie.test; import com.netflix.hystrix.HystrixCommand; import com.netflix.hystrix.Hystr ...