SpringBoot命令行启动时参数配置,SpringBoot命令行启动时参数配置详解

马肤

温馨提示:这篇文章已超过463天没有更新,请注意相关的内容是否还可用!

SpringBoot命令行启动时参数配置是用于自定义应用程序行为的便捷方式。通过命令行参数,开发者可以在启动SpringBoot应用时动态地调整配置属性,如设置服务器端口、配置数据源等。这种配置方式灵活便捷,无需修改代码重新编译,只需在命令行中输入相应的参数即可。SpringBoot会自动读取这些参数并应用到应用程序的配置中,从而实现对应用的快速部署和调整。

一、配置方式

SpringBoot命令行启动时参数配置,SpringBoot命令行启动时参数配置详解 第1张

1、参数配置

通过命令行参数来配置Spring Boot应用程序是一种便捷的方式,在命令行中,可以使用的形式来传递参数,这些参数会被Spring Boot解析并应用到应用程序的配置中。

java -jar application-name.jar --server.port=8080

2、配置文件配置

Spring Boot应用程序可以使用默认的配置文件(如application.propertiesapplication.yml),也可以通过自定义的配置文件进行配置,默认的配置文件位于类路径的根目录下,而自定义的配置文件可以通过--spring.config.location命令行参数指定。

java -jar application-name.jar --spring.config.location=classpath:/application-config.yml

通过参数配置和配置文件配置,可以在运行Spring Boot应用程序时动态地改变应用程序的行为,而无需重新打包应用程序,这使得在不同环境下部署和运行应用程序更加灵活和便捷。

二、配置顺序(由高到低)

1、命令行参数

命令行参数具有最高优先级,可以覆盖配置文件中的属性。--server.port=8080将会覆盖application.properties或其他配置文件中的server.port属性。

2、操作系统环境变量

Spring Boot会加载操作系统环境变量中以SPRING_为前缀的所有属性。SPRING_PROFILES_ACTIVE=dev将会设置spring.profiles.active属性。

3、自定义配置文件

可以通过--spring.config.location命令行参数指定自定义的配置文件,这些自定义配置文件可以覆盖默认的配置文件中的属性。

4、应用配置文件

application.propertiesapplication.yml是常规配置文件,包含应用程序的所有默认配置,如果没有其他配置文件指定,这些属性将作为最后的默认值。

三、参数形式

在命令行中,常见的参数可以分为三类:选项参数、非选项参数和系统参数。

1、选项参数

Spring Boot应用程序可以在命令行中使用双短横线 作为前缀来传递选项参数,这些参数通常用于配置和控制应用程序的行为,例如上面提到的--server.port=8080

2、非选项参数

SpringBoot命令行启动时参数配置,SpringBoot命令行启动时参数配置详解 第2张

非选项参数直接跟随在Spring Boot应用程序的xxx.jar 包后面,它们是应用程序的实际参数,这些参数可以根据应用程序的需要进行解析和处理。

java -jar application-name.jar arg1 arg2

3、系统参数

Spring Boot应用程序可以在命令行中使用-D选项设置系统参数,用于配置Java虚拟机(JVM)的行为,这些参数以-D=的形式传递给JVM,可以在应用程序中通过System.getProperty()方法获取。

java -Dapp.env=dev -jar your-application.jar

以下是一个简单的控制器示例,展示如何在Spring Boot应用程序中获取和使用这些参数:

四、IDEA中参数配置

1、Program arguments(程序参数)

程序参数是在运行程序时,通过命令行传递给主类的参数,并在应用内进行处理,多个参数需要以空格隔开。

--arg1=value1 --arg2=value2

2、VM options(VM选项)

VM选项是传递给Java虚拟机(JVM)的参数,这些参数用于配置JVM的运行时行为,包括堆内存大小、垃圾回收策略等。

-Dkey1=value1 -Dkey2=value2

3、Environment variables(环境变量)

环境变量是在操作系统级别设置的一组键值对,在运行程序时可以被应用程序访问。

设置环境变量key1=value1key2=value2

在Spring Boot应用中,你也可以通过@Value("${环境变量名}") 注解来直接获取环境变量的值,例如@Value("${key1}") private String keyValue;。 需要注意的是,环境变量的命名规范通常全部大写,以区分普通配置属性。


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码