springboot设置并获取启动参数
springboot设置参数并获取参数的方式
下面以端口号为例
设置端口号的方式有三种:
1)通过java程序启动命令行参数设置或者是idea的Program arguments设置
java -jar test.jar --server.port=8080
idea配置
--spring.profiles.active=dev --server.port=8080
2)通过JVM自定义参数设置
java -jar -Dserver.port=8080 test.jar
idea配置
-Dserver.port=8080
3)通过配置文件设置
在yml文件或properties文件中配置
server:
port: 8081
执行顺序
有上面三种方式进行设置端口号,那么如果三种都设置了端口号,最终会使用那个呢?
java程序启动命令行>JVM自定义参数>配置文件
端口号会按上面的顺序使用
获取参数
1)通过java程序启动命令参数
在启动类main方法中通过args获取
public static void main(String[] args) {
System.out.println(Arrays.toString(args));
}
2)通过JVM自定义参数设置
这种方式增加的参数是被设置到应用的系统属性中可以通过下面代码获取
System.getProperty("server.port")
3)通过配置文件设置
配置文件获取的方式比较多,本人就写一个吧
@Value("${server.port}")
private String port;
4)获取系统环境变量中的参数
即是获取当前系统的环境变量,如果JAVA_HOME,获取方式如下所示
System.out.println(System.getenv("JAVA_HOME"));
System.out.println(System.getenv("test"));
idea配置如下