首页 > 在spring-boot中如何使用ApplicationArguments参数

在spring-boot中如何使用ApplicationArguments参数

在学习spring-boot, 文档为Spring Boot Document, 在23.6节 Accessing application arguments中, 有如下的代码:

package com.example.project;

import org.springframework.boot.*;
import org.springframework.beans.factory.annotation.*;
import org.springframework.stereotype.*;

import java.util.*;

@Component
public class MyBean {
  @Autowired
  public MyBean(ApplicationArguments args) {
    boolean debug = args.containsOption("debug");
    List<String> files = args.getNonOptionArgs();
    System.out.println(debug);
    System.out.println(files);
  }
}

文档上说: 运行文件时候加上 --debug logfile.txt, 则debug=true, files=["logfile.txt"].

但问题是, 如何运行此文件啊?
我的Maven目录为:


这个意思就是说当你把应用打成一个jar包运行的时候,后面跟着的命令行参数你的这个bean能拿到,比如你用mvn package打包成test.jar,那么你运行jar -jar test.jar --debug test.log,那个MyBean里面就能拿到"--debug test.log"这个命令行参数了

另外在写应用的时候要注意调用run的时候加上参数列表args:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
【热门文章】
【热门文章】