Я бы использовал поставщика, если значение сложное или дорогое для расчета. Возможно, вы бы предоставили соединение с базой данных или извлекли некоторые удаленные значения конфигурации.
KISS - Сохраняйте это простым, глупым, является ключевым при работе с инжекционными средами. Чем больше вы можете положиться на простые вещи (например, типы), тем лучше. Это может быстро перерасти в беспорядок, из которого трудно выйти.
Даже @Named (...) является сложным, поэтому я бы избегал этого, если это возможно. Вероятно, в долгосрочной перспективе будет проще (не проще?) Иметь класс-заполнитель для этого строкового значения.
class UrlToTheServer {
private final String url;
}
...
class Test{
private final String someUrl;
@Inject
public Test(UrlToTheServer urlToTheServer){
someUrl = urlToTheServer.url;
}
public void foo() {
// access someUrl here.
}
}
}