我需要使用静态参数运行jar,例如java -jar myapp-1.0.0.jar /path/static/myfolder,并在我的代码中使用此路径“/path/static/myfolder”。所以,我知道如何在 PSVM 中获取这个参数(String..args),但是如何在 Spring 中获取它?是否有注释或可能在属性文件中>
这确实是我问题的答案:
创建特殊的
@Component
来实现 CommandLineRunner
并覆盖方法 Run
,如下所示:
@Component public class StartupPrintRunner implements CommandLineRunner {
private String folder;
@Override public void run(String... args) throws Exception {
this.folder = Arrays.deepToString(args);
}
}
在需要的地方注入bean
StartupPrintRunner
并获取参数。它返回的 String 看起来像一个数组:[parameter1, parameter2.., parameter n]
,我们可以解析它以获取必要的参数。