如果你需要获取通过SpringApplication.run(…​)传输过来的arguments,可以直接注入一个ApplicationArguments即可实现,如下面这个例子:

@Service
public class ApplicationArgumentService {

    private final ApplicationArguments applicationArguments;

    @Autowired
    public ApplicationArgumentService(ApplicationArguments applicationArguments) {
        this.applicationArguments = applicationArguments;
        for (String sourceArg : applicationArguments.getSourceArgs()) {
            System.out.println(sourceArg);
        }
        for (String optionName : applicationArguments.getOptionNames()) {
            System.out.println(optionName + " = " + applicationArguments.getOptionValues(optionName));
        }
    }

}

 当然,要注意的是SpringBoot的启动类中,在执行run方法的时候参数不能为空(标红部分):

@SpringBootApplication
public class SpringBootTestApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootTestApplication.class, args);
    }
}

 

相关文章:

  • 2021-12-12
  • 2021-11-26
  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-10
  • 2021-06-29
猜你喜欢
  • 2022-02-25
  • 2021-06-23
  • 2021-07-31
  • 2022-12-23
  • 2022-12-23
  • 2021-10-02
  • 2022-01-01
相关资源
相似解决方案