在Spring中将参数传递给自动连接构造函数
我有一个参数化的构造函数。如何在其中使用在Spring中将参数传递给自动连接构造函数,spring,Spring,我有一个参数化的构造函数。如何在其中使用@Autowired注释 下面是一个示例代码段: @Autowired private MyImplClass myImplClass; 我在MyImplClass中有一个参数化构造函数,如下所示: public class MyImplClass{ WebDriver driver = new FireFoxDriver(); public MyImplClass(WebDriver driver){ this.dr
@Autowired
注释
下面是一个示例代码段:
@Autowired
private MyImplClass myImplClass;
我在MyImplClass
中有一个参数化构造函数,如下所示:
public class MyImplClass{
WebDriver driver = new FireFoxDriver();
public MyImplClass(WebDriver driver){
this.driver = driver;
}
}
我需要将驱动程序传递给
MyImplClass
。如何使用Autowired实现这一点?一种方法是在spring上下文中创建WebDriver:
<bean class="org.openqa.selenium.firefox.FirefoxDriver"/>
您可以使用
@Value
注释。请看问题。让我更清楚地说明这一点。”“MyImplClass”在project1中,“MyTestClass”在project2中。我在“MyTestClass”中使用@Autowired注释。如果我在MyImplClass中没有参数化构造函数,那么我将以以下方式自动连接@autowired public MyImplClass MyImplClass。但是我有一个构造函数,它接受WebDriver我如何在project2中使用@Autowired传递它而不使用Autowired注释,我使用它在project2的MyTestClass中创建一个对象,如下所示<代码>MyImplClass MyImplClass=新的MyImplClass(EnumBrowsers.FIREFOX.driver())代码>如何使用自动连线注释实现同样的效果?当通过自动连线注入对象时,不必传递构造函数参数。这是因为Spring在初始化上下文时为您执行此操作。如果您不相信这一点,请在类构造函数上打印系统输出语句。当您启动程序时,Spring将自动创建一个类的实例,并传递所需的构造函数arg
@Component
public class MyImplClass{
private WebDriver driver;
@Autowire
public MyImplClass(WebDriver driver){
this.driver = driver;
}
}