用ApplicationRunner并不优雅,实际上直接用@Value就好
application.properties
a=aaa
b=bbb
DemoApplicaiton.java
@SpringBootApplication
public class DemoApplication implements ApplicationRunner {
@Value("${a}")
String a;
@Value("${b}")
String b;
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println(a);
System.out.println(b);
}
}
mvn install
java -jar target/demoapp-0.0.1-SNAPSHOT.jar
输出
aaa
bbb
java -jar target/demoapp-0.0.1-SNAPSHOT.jar --a=123 --b=456
输出
123
456
java -jar target/demoapp-0.0.1-SNAPSHOT.jar --a=123 --b=456 --b=456
输出
123
456,456
说明后面加了参数会覆盖 application.properties,这很优雅