Код: Выделить всё
@Component
public class BlueWidget {
@Value("${blue.message}")
private String message;
public String getMessage() {
return message;
}
}
Код: Выделить всё
@Component
public class RedWidget {
@Value("${red.message}")
private String message;
public String getMessage() {
return message;
}
}
Код: Выделить всё
@Configuration
public class WidgetConfiguration {
@Bean
Widget redWidget() {
return new Widget("red");
}
@Bean
Widget blueWidget() {
return new Widget("blue");
}
}
Кодовая база, в которой я провожу большую часть своей повседневной работы, завалена такими вещами: множество вариаций класса со многими, многими полями, которые различаются только аннотациями @Value.
Я немного поигрался с отражением, однако, даже если бы я мог изменить «значение» @Value аннотация (двойное "значение" меня всегда беспокоило...), я думаю, что в конечном итоге я бы изменил это для каждого экземпляра класса, тогда как я хочу добиться чего-то вроде того, чтобы каждый экземпляр класса имел разные значения @Value.
Складка экземпляров, которые все еще ведут себя как если бы у них была аннотация @Value, важна в моем случае использования, поскольку есть и другие вещи, которые ищут эту аннотацию, но, возможно, ответ заключается в том, чтобы в конечном итоге еще раз взглянуть и на эти вещи. Однако это кажется чем-то достижимым. Есть мысли?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ld-level-v
Мобильная версия