Spring Boot 程序的 main 方法里,args 这个参数具体代表什么含义?
·
1. args 参数的核心含义
args 是 String[] 类型的数组,全称是 arguments(参数),它是 Java 程序从命令行启动时接收的外部输入参数。
在这段 Spring Boot 代码中:
public static void main( String[] args ) {
ApplicationContext ctx = SpringApplication.run(BigEventApplication.class, args);
}
SpringApplication.run(…) 方法接收 args,本质是把命令行传入的参数交给 Spring Boot 应用,让应用能识别并处理这些外部参数(比如指定配置文件、修改端口等)。
2. 具体用法示例
(1)基础示例:手动打印 args 内容
先通过简单代码理解 args 的作用:
public static void main( String[] args ) {
// 打印命令行传入的参数
System.out.println("传入的参数数量:" + args.length);
for (int i = 0; i < args.length; i++) {
System.out.println("第" + (i+1) + "个参数:" + args[i]);
}
// 原有的 Spring Boot 启动代码
ApplicationContext ctx = SpringApplication.run(BigEventApplication.class, args);
}
(2)Spring Boot 中使用 args 的场景
比如你想通过命令行指定应用端口,启动命令可以这样写:
# 方式1:java -jar 启动时传参
java -jar big-event.jar --server.port=8081
# 方式2:IDE 中配置启动参数(如 IntelliJ IDEA)
# 在 Run/Debug Configurations 中,Program arguments 栏填写:--server.port=8081
此时 args 数组里就会包含 [“–server.port=8081”],Spring Boot 会读取这个参数,把应用端口设置为 8081,而不是默认的 8080。
3. 关键补充
- 如果启动程序时没有传任何命令行参数,args 就是一个长度为 0 的空数组(不会是 null)。
- Spring Boot 识别的命令行参数通常以 – 开头(如 --server.port、–spring.profiles.active=dev),这些参数会覆盖配置文件中的对应配置。
- args 是 Java 原生特性,并非 Spring Boot 独有,所有 Java 程序的 main 方法都可以通过这个参数接收命令行参数。
总结
- args 是 Java main 方法接收命令行启动参数的字符串数组;
- Spring Boot 接收 args 后,会解析其中的参数(如 --server.port)来配置应用;
- 不传参数时 args 为空数组,不会影响程序正常启动。
更多推荐

所有评论(0)