Spring Boot2.x系列教程(二)启动命令参数详解及源码分析

使用过Spring Boot,我们都知道通过java -jar可以快速启动Spring Boot项目。同时,也可以通过在执行jar -jar时传递参数来进行配置。本文带大家系统的了解一下Spring Boot命令行参数相关的功能及相关源码分析。

命令行参数使用

启动Spring Boot项目时,我们可以通过如下方式传递参数:

java -jar xxx.jar --server.port=8081

默认情况下Spring Boot使用8080端口,通过上述参数将其修改为8081端口,而且通过命令行传递的参数具有更高的优先级,会覆盖同名的其他配置参数。

启动Spring Boot项目时传递参数,有三种参数形式:

  • 选项参数
  • 非选项参数
  • 系统参数

选项参数,上面的示例便是选项参数的使用方法,通过“–-server.port”来设置应用程序的端口。基本格式为“–name=value”(“–”为连续两个减号)。其配置作用等价于在application.properties中配置的server.port=8081。

非选项参数的使用示例如下:

java -jar xxx.jar abc def 

上述示例中,“abc”和“def”便是非选项参数。

系统参数,该参数会被设置到系统变量中,使用示例如下:

java -jar -Dserver.port=8081 xxx.jar

参数值的获取

选项参数和非选项参数均可以通过ApplicationArguments接口获取,具体获取方法直接在使用参数的类中注入该接口即可。

@RestController
public class ArgumentsController {
	@Resource
	private ApplicationArguments arguments;

猜你喜欢

转载自blog.csdn.net/wo541075754/article/details/103656235