Мимика Spring профилей в Guice

В Spring, если я хочу иметь один набор объектов для производства, а другой для локальной разработки/тестирования. Я мог бы использовать аннотацию @Profile для обозначения разных классов и переключаться между ними, предоставляя системное свойство при запуске приложения.

Есть ли что-то подобное в Guice или мне нужно вручную проверить какое-то свойство и загрузить другой набор модулей при загрузке моего Injector?

Ответ 1

Вам нужно будет определить среду самостоятельно и выбрать, какие модули применять в какой среде, но у вас есть доступ к Modules.override, чтобы специально переопределить определенные привязки, не создавая много вариантов модулей. Используйте это разумно - очень легко получить ваши модули запутанные, если вы переопределите многие привязки или в непредсказуемых местах.