我正在学习Spring-Boot(我是新手),阅读Spring Boot Document。在 23.6访问应用程序参数中,它讨论 ApplicationArguments ,代码为:
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);
}
}
它表示如果使用&#34; - debug logfile.txt&#34; debug = true,files = [&#34; logfile.txt&#34;]。
但在我的项目中,我不知道如何运行它。我使用Maven创建了spring-boot:Project Structure
答案 0 :(得分:3)
在Spring Boot中,文档ApplicationArguments
在bean中自动装配。这是一个更实际的例子,它在Main方法中使用。
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application implements ApplicationRunner {
public static void main(String[] args) {
SpringApplication.run(Application.class, args).stop();
}
@Override
public void run(ApplicationArguments args) throws Exception {
boolean debug = args.containsOption("debug");
List<String> files = args.getNonOptionArgs();
System.out.println(debug);
System.out.println(files);
}
}
答案 1 :(得分:1)
一句话,比如一千: IDE 字段中以 -- 为前缀的“程序参数”与“ApplicationArguments”中预期的“Option”名称相同。
因此您可以匹配 --debug 和 "args.containsOption("debug")"。
答案 2 :(得分:0)
假设您有一个带有注解@SpringBootApplication的Application类,就像a.b.d提供的答案中一样。
要在IntelliJ IDEA环境中提供参数,您需要首先运行main方法,然后编辑“ Run / Debug Configurations”,并在Main Class填充程序参数字段下使用“ --debug logfile.txt”: