У меня есть служебный метод, который принимает строку в качестве входного параметра и дает мне объект, соответствующий вводу. Мне нужно вызвать этот метод утилиты из метода сопоставления запроса загрузки Spring.
Теперь мой вопрос: каковы преимущества и недостатки двух подходов ниже?
- Сделать метод утилиты статическим и вызвать его.
- Сделать метод как прототип bean и вызвать бин.
Пример кода для подхода 1:
**//SourceSystem can change at runtime**
public static FixedLengthReport fixedLengthReport(String sourceSystem) {
return new TdctFixedLengthReport(sourceSystem, dao);
}
Пример кода для подхода 2:
@Bean
@Scope(value = "prototype")
**//SourceSystem can change at runtime**
public FixedLengthReport fixedLengthReport(String sourceSystem) {
return new TdctFixedLengthReport(sourceSystem, dao);
}
PS: образцы собраны из другого поста.