SpringBootでコマンドライン引数を別クラスで、参照したいのですが、
下記のようにするとなぜかNullになってしまいます。
コード //メインクラス //引数はEclipseの機能で、20180101とか、20171212とかで渡します。 @SpringBootApplication public class Sample{ public static void main(String[] args) { SpringApplication.run(Sample.class, args); } }
コード //別クラス //なぜかargsはNullになる @Component public class Service { @Autowired private ApplicationArguments arguments; @PostConstruct public void start(){ String[] args = arguments.getSourceArgs(); for(String arg : args){ System.out.println(arg); } } }
Javaと同じやり方($ Java Sample 20180101とか)でコマンドライン引数を渡せると思っていましたが、それだと渡せないのでしょうか?
また、application.propertiesとか、build.gradleで別途設定が必要なのでしょうか?
ご教授のほど、お願いいたします。
あなたの回答
tips
プレビュー