Отметьте класс RunTest
как @Component
, введите его экземпляр в класс TestSpringBean
и завершите настройку в методе someMethod
*:
@Component
class RunTest implements Runnable {
public RunTest() {}
}
class TestSpringBean {
@Autowired
private RunTest runnable;
public void someMethod() {
...
runnable.set(a);
}
}
* Обратите внимание, что выпредполагается получить уже настроенный компонент, поэтому никаких других настроек не требуется.Это единственный экземпляр, поэтому изменения здесь будут отражены и в других местах.
Другими словами, синглтоны должны оставаться без гражданства.Вот почему это простое решение следует пересмотреть, либо найдя способ получить завершенный объект, либо исключив этот объект из класса задач.
** Вы можете изменить область действия на "prototype"
, но Spring все равно не сможет 't предоставить полностью настроенный экземпляр.Возникает вопрос: должен ли Spring вообще управлять этим классом?
*** Как указал @lucumt, убедитесь, что класс видим для механизма сканирования компонентов.