Итак, у меня есть класс с именем ClientFactory
, который я импортирую в свой проект, используя jar. Это выглядит так:
@Component
public class ClientFactory {
@Autowired
private Client client;
public ClientFactory() {
}
public Client get() {
return this.client;
}
}
и мой класс, который использует это, выглядит следующим образом:
@SpringBootApplication(scanBasePackages = {"path.to.client.*"})
@EnableAutoConfiguration
public class ProjectClient {
@Autowired
public ClientFactory clientFactory;
public ProjectClient() {}
public String getSomething(String something){
Client client = (Client) clientFactory.get();
return "x";
}
}
И я вызываю этот фрагмент кода из моего тестового класса:
@SpringBootTest
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@Disabled
@TestPropertySource(properties = { //
"some.property=value", //
})
public class SomeTests {
@Autowired
ProjectClient p;
@Test
public void sampleTest() throws Exception {
p.getSomething("sample");
}
}
и я получаю следующую ошибку:
Field clientFactory in ProjectClient required a bean of type 'ClientFactory' that could not be found.
Action:
Consider defining a bean of type 'ClientFactory' in your configuration.
Я перепробовал все комбинации сканирования объектов, компонентов и пакетов, но, похоже, ничего не работает. Приложение просто не может найти этот bean-компонент, я погуглил высоко и низко и не могу найти способ заставить это работать - я новичок в загрузке Spring - пожалуйста, помогите: (