我有一个黄瓜JVM + Selenium脚本。主要方法是这样的,
public static void main (String args[]) {
environment.environmentValue = args[0];
path.pathValue = args[1];
username.superUser = args[2];
returnCode = Main.run(
new String[] { "-g", "com.sanity.step.definition","-t", "@" +path ,
featureFile.replace("\\", "\\\\") },
SeparateClassloaderTestRunner.class.getClassLoader());
}
我有一个构造函数类,即
public Class CucumberRunner;
private ClassUtility environment;
private Classutility pathVal;
private ClassUtility userName;
public CucumberRunner(ClassUtility environment , ClassUtility pathVal,
ClassUtility userName) {
this.environment = environment;
this.pathVal=pathVal;
this.userName= userName;
}
这是我的classutility Class,
public class ClassUtility {
public String environmentValue;
public String pathValue;
public String superUser;
}
我得到编译错误为“无法对main方法中的非静态字段方法进行静态引用”enviornment.environmentValue = args [0]“。那么我们如何对静态变量进行依赖注入?我们可以吗?为运行时参数执行依赖注入?
答案 0 :(得分:0)
Spring Boot可以为您处理JVM参数。
启动Spring Boot App时,可以将参数作为VM参数注入。
例如,java -jar yourboot.jar -DargumentName=test
。
您可以通过在spring bean(控制器,服务,...)中执行:@Value("${argumentName}") private String var
来检索该值。