运行 Spring Boot 应用的 3 种方式
今天介绍 3 种运行 Spring Boot 应用的方式,看大家用过几种?
你所需具备的基础
- 什么是 Spring Boot?
- Spring Boot 核心配置文件详解
- Spring Boot 开启的 2 种方式
- Spring Boot 自动配置原理、实战
- Spring Boot 2.x 启动全过程源码分析
更多请在Java技术栈微信公众号后台回复关键字:boot。
运行 Spring Boot 应用的 3 种方式
1、在 IDE 中运行
在 Eclipse、IDEA 中直接运行,又有以下两种方式。
- jar 包方式
Spring Boot 默认采用 jar 包内嵌 Tomcat、Jetty 等 Server 的方式,并需要提供一个含有 main 方法的主类。这个时候,直接在 IDE 中运行这个 main 方法就能启动 Spring Boot 应用了。

- war 包方式
如果你的应用改装成了 war 包方式部署,这个时候就需要在 IDE 中配置 Server,然后在 Server 中加入你的 Spring Boot 项目,最后运行这个 Server 即可。
如何改装成 war 包方式运行请看这篇文章《Spring Boot 发布 jar 包转为 war 包秘籍》
2、打包运行
当你的 Spring Boot 准备提测或者上线,都需要打成 jar 包或者 war 包运行,war 包方式这里不说直接丢到 Server 里面运行即可,这里介绍直接运行 jar 包的方式。
$ java -jar javastack-0.0.1-SNAPSHOT.jar
这种方式也支持开启远程调试,如:
$ java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar javastack-0.0.1-SNAPSHOT.jar
3、用插件运行
可以在 IDE 或者命令行中使用 Maven 和 Gradle 插件来运行 Spring Boot 应用。
1)Maven Plugin
$ mvn spring-boot:run
更多详情请访问以下官方链接。
https://docs.spring.io/spring-boot/docs/current/maven-plugin/
2)Gradle Plugin
$ gradle bootRun
更多详情请访问以下官方链接。
https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/
最后来一张 Maven 的截图。

总结
在 IDE 中推荐使用插件的方式来运行,因为可以集成更多的插件化的功能,如:热部署、区别不同环境配置等。
在非 IDE 中请使用 java -jar 的方式,或者直接打包在 Server 中运行!
如果有收获,欢迎点赞转发!
本文原创首发于微信公众号:Java技术栈(id:javastack),关注公众号在后台回复 "boot" 可获取更多,转载请原样保留本信息。
运行 Spring Boot 应用的 3 种方式的更多相关文章
- 运行 Spring Boot 有哪几种方式?
打包用命令或者放到容器中运行用 Maven/ Gradle 插件运行直接执行 main 方法运行
- 创建Spring Boot项目的几种方式总结
一.我们可以使用Spring Initializr来创建SpringBoot项目. Spring Initializr从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目结构.虽 ...
- Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式
我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...
- Spring Boot开启的 2 种方式
Spring Boot依赖 使用Spring Boot很简单,先添加基础依赖包,有以下两种方式 1. 继承spring-boot-starter-parent项目 <parent> < ...
- 在CentOS下的docker容器中部署spring boot应用的两种方式
我们通常在 windows 环境下开发 Java,而通常是部署在Linux的服务器中,而CentOS通常是大多数企业的首选,基于Docker的虚拟化容器技术,多数Java应用选择这种方式部署服务.本文 ...
- Spring Boot开启的2种方式
Spring Boot依赖 使用Spring Boot很简单,先添加基础依赖包,有以下两种方式 1. 继承spring-boot-starter-parent项目 <parent> < ...
- spring boot集成pagehelper(两种方式)
当spring boot集成好mybatis时候需要进行分页,我们首先添加maven支持 <dependency> <groupId>com.github.pagehelper ...
- mybatis 热部署xml文件(spring boot和springmvc两种方式)
参考:http://thinkgem.iteye.com/blog/2304557 步骤:1.创建两个java类 (1)MapperRefresh.java :用于刷新mapper (2)SqlS ...
- Spring boot配置Dubbo三种方式
方式一 使用注解的方式 导入dubbo-starter 在application.properties配置属性 使用@Service暴露服务 使用@Reference引用服务 使用@EnableDub ...
随机推荐
- vue项目中编写一个图片预览的公用组件
今天产品提出了一个查看影像的功能需求. 在查看单据的列表中,有一列是影像字段,一开始根据单据号调用接口查看是否有图片附件,如果有则弹出一个全屏的弹出层,如果没有给出提示.而且,从列表进入详情之后,附件 ...
- day 2:计算机的基础知识,编程语言分类
本节内容 1,计算机的容量 2,编程语言介绍1,计算机的容量 1位 = 1bit 8bit = 1byte = 1字节 1024bytes = 1k bytes = 1KB 1024个 1024KB ...
- spring boot 源码分析
说明:spring boot版本 2.0.6.RELEASE 思绪 首先,大家认识spring boot是从@SpringBootApplication注解和org.springframework.b ...
- nsq 初试
nsqlookupd tcp 4160 http 4161nsqd 4150nsqadmin 4171 1:安装$ brew install nsq1) 停止nsq默认的启动$ brew servic ...
- VS 2017显示“高级保存选项”命令操作方法
Visual Studio提供“高级保存选项”功能,它能指定特定代码文件的编码规范和行尾所使用的换行符.在Visual Studio 2017中,该命令默认是没有显示在“文件”菜单中的.用户需要手工设 ...
- 编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组,该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。
function fn(n){ if(n<2 || n>32) { return; } if(!n) { return;} //判断n是否为数字 if(!/^[0-9]+.?[0-9 ...
- shell脚本编写某一文件夹内拷贝某一段文件(有则跳过没有则拷贝)
必须是同一台服务器下,或者挂载目录,不同服务器下没办法查询目录中是否有该文件 如果不在同一服务器下,可以把要查询的那个服务器的文件夹设置共享挂在到当前服务器 或者可以把脚本写到要拷贝的服务器上,那么s ...
- electron培训 ppt
- python中3个连续的单引号是什么意思?''' ... ''' 这样的引号是什么意思?
- 28. 实现strStr()
实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返 ...