У меня есть класс config, который создает компоненты для моего приложения. Я вижу, что, хотя я устанавливаю свойства bean при создании компонента-адаптера, каким-то образом эти свойства очищаются и устанавливаются в null в моем классе контроллера. После 2 часов отладки я рисую пробел. Любые указатели, пожалуйста.Почему мой Autowired bean имеет нулевые свойства
@RequiredArgsConstructor//lombok annotation to generate the constructor.
public class MyAdapter {//Trying to create a bean of this type
@NonNull private final MyPropertyObj prop;
@NonNull private final Integer timeout;
}
@Configuration
@Profile("!test")
class MyConfigClass{
@Bean
public MyAdapter adapter(){
MyPropertyObj prop= new MyPropertyObj();
return new MyAdapter(prop, 10);//Here I am setting prop and 10, but when I check auto wired adapter they are null.
}
}
public class MyController {
@Autowired private MyAdapter adapter;
//adapter gets injected, but adapter.prop and the adapter.timeout are null.
}
вы пробовали http://stackoverflow.com/questions/19896870/why-is-my-spring-autowired-field -null – Augustas
Где находится конструктор в вашем классе 'myAdapter'? – Jens
@ Аугустас Я посмотрел на этот вопрос. Этот вопрос говорит о создании нового объекта вручную и ожидает, что свойство внутри него будет автоматически подключено. То, что я пытаюсь сделать, отличается. Мой компонент, созданный во время создания экземпляра, как-то меняет состояние и очищает его атрибуты. – learningtocode