инициализация полей силы пружины

139
22

Как мы можем перевести следующий объект в весенний боб, чтобы мы могли сохранить точную функциональность? По функциональности я пытаюсь сосредоточиться на инициализации конструктора.

class RealObject {
private String f1;
private String f2;
private String f3;
private int f4;
private int f5;

public RealObject(String f1, String f2, String f3, int f4, int f5) {
this.f1 = f1;
this.f2 = f2;
this.f3 = f3;
this.f4 = f4;
this.f5 = f5;
}

... getters ...
}

Весенняя фасоль будет выглядеть

@Bean
class RealObject {
private String f1;
private String f2;
private String f3;
private int f4;
private int f5;

... getters ...
}

Проблема с этим компонентом заключается в том, что он никогда не заставит меня указывать параметры, которые мне нужны в моем объекте. Я могу выполнить ручную проверку для каждого входа, но если у вас слишком много... Это не будет элегантно.

Какие у меня решения?

Позже отредактируйте: мне нужно передать значения во время выполнения.

спросил(а) 2021-01-19T17:24:43+03:00 9 месяцев, 1 неделя назад
1
Решение
103

Вы можете использовать @Autowired и @Value вместе в конструкторе

@Autowired
public RealObject(@Value("#{property.f1}") String f1,
@Value("#{property.f2}") String f2,
... ) {

}

В этом случае вам понадобятся внешние свойства для присвоения значений f1, f2...

ответил(а) 2021-01-19T17:24:43+03:00 9 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема