在每一个学习Java的同学,都应该写过下面的这一段代码。
public class Hello{
public static void main(String[] args) {
System.out.println("Hello,World!");
}
}
在Java语言中,规定了入口函数是一个main()方法,该方法有一个String[]类型的参数,但是在很多时候,很多人都使用不上这个参数,也不关心为什么要写这个参数。
那么这个字符串数组类型的参数究竟是什么东西呢?
其实很简单,main()方法中的字符串数组类型的参数就是java命令的参数,使用java命令的方式运行main()方法,会将java命令的参数入参到Java main()方法的字符串数组参数中。
我们可以通过以下方式来进行验证:
- 1、先编写一个Hello.java文件,文件内容如下:
public class Hello{
public static void main(String[] args) {
System.out.println("==============args start============");
for(int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
System.out.println("==============args end============");
}
}
- 2、在Hello.java文件的路径下打开cmd命令提示符,运行javac Hello.java命令编译该文件,这将会在对应的文件路径下,得到一个Hello.class字节码文件。
- 3、使用java Hello命令运行Hello.class文件,我们将会得到如下的运行结果:
- 4、我们这次在java命令后面添加一些参数,这些参数我们可以自己定义。例如:java Hello a b c d ,我们将会得到如下的运行结果:
正是因为Java main()方法的这个扩展性,使得每一个开发者,可以通过自己定义一些Java命令的参数,实现一些不同的功能。
其中SpringBoot的启动类,其实也使用了这个特性,SpringApplication.run()方法有一个重载方法,其中第一个入参的是注解了@SpringBootApplication注解的类的字节码对象,而第二个参数,即为main()方法的字符串数组参数。
SpringBoot可以通过这个字符串数组参数,通过java命令参数的方式,在不同的环境下实现不同的应用配置。
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
推荐好课:
声明:小猿资源站是一个资源分享和技术交流平台,本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。