2015-06-12 3 views
0

Я делаю программу, и мне нужно читать из основных аргументов, но я не знаю, как это сделать.Используйте основные аргументы с SpingBoot и скорость

мой код

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

контроллер

@Controller 
public class SampleControler { 

    @Autowired 
    private Checker checker; 

    @RequestMapping("/monitoring") 
    String home(Model map) 
    { 
     try { 
      map.addAttribute("donnee", checker.run(/*My main args has to be there*/); 

      return "index" ; 
     }catch (Exception e) { 
      return "error"; 
     } 
    } 
} 

Можете ли вы кто-нибудь помочь?

ответ

0

Как описано в manual вам нужно добавить аргументы командной строки, как

java -jar yourapp.jar --yourParam1=value1 --yourParam2=value2 

к приложению.

В вашей SampleControler вы можете получить доступ к этим аргументам через Environment:

@Controller 
public class SampleControler { 

    @Autowired 
    private Checker checker; 

    @Autowired 
    private Environment environment; 

    @RequestMapping("/monitoring") 
    String home(Model map) 
    { 
     try { 
      map.addAttribute("donnee", checker.run(environment.getProperty("yourParam1", "defaultValue")); 

      return "index" ; 
     }catch (Exception e) { 
      return "error"; 
     } 
    } 
} 
+0

В качестве альтернативы, используйте @value аннотаций. См. Http://stackoverflow.com/questions/317687/how-can-i-inject-a-property-value-into-a-spring-bean-which-was-configured-using для получения дополнительной информации о различных способах использования этого. –

+0

Привет, ребята! Спасибо за ответ. В параметре метода run должен быть массив Sting (args []). Возможно ли это: S? –

+0

Вы имеете в виду что-то вроде 'java -jar myapp.jar --param1 = value1, value2'? –