Использую spring
и selenium
в одном проекте, и приходится оборачивать WebDriver
вот таким некрасивым способом:
@Slf4j
@Component
public class Firefox {
@Getter
private WebDriver driver;
public Firefox() {
driver = new FirefoxDriver();
}
}
И все время приходится пользоваться геттером, что не очень приятно. Как можно добится того чтобы можно было писать вместо
@Autowired
private Firefox firefox;
И потом вызывать firefox.getDriver()
Настроить spring
так что бы можно было сразу писать:
@Autowired
private WebDriver webDriver;
С учетом конечно того, что в классе WebDriver
аннотацию @Component
не как не поставить, так как он библиотечный.
Сейчас конфиг выглядит так:
@Configuration
@PropertySource("application.properties")
@ComponentScan(basePackages = {"org.example"})
public class SpringBeansConfigurationInjector {
@Scope("singleton")
@Bean(name = "firefox")
Firefox firefox() {
return new Firefox();
}
}
Перепишите конфиг так:
@Configuration
@PropertySource("application.properties")
@ComponentScan(basePackages = {"org.example"})
public class SpringBeansConfigurationInjector {
@Bean
WebDriver webDriver() {
return new FirefoxDriver();
}
}
Теперь вы можете в любом другом классе, управляемом Spring-ом внедрить WebDriver
:
package org.example;
@Component
public class SomeClass {
@Autowired
private WebDriver webDriver;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Захотел в проекте android studio создать контекстное меню, написал следующее в классе MainActivity(Именно для этого активити нужно меню):
IDEA, Java, gui-приложениеИмпортировал в проект несколько картинок, отображаемых в приложении