Guice
Wikipedia
Google Guice — универсальный фреймворк с открытым исходным кодом для Java-платформы, разработанный компанией Google под лицензией Apache 2.0. Фреймворк обеспечивает поддержку внедрения зависимостей при помощи аннотаций для конфигурирования объектов Java[2]. Внедрение зависимостей — паттерн проектирования, основная задача которого — отделить поведения объекта от управления его зависимостями. Guice позволяет классам реализаций программно привязываться к интерфейсу и затем иньектироваться в конструкторы, методы или поля, помеченные аннотацией @Inject. Когда необходимо обеспечить более одной реализации одного интерфейса, пользователь может создать собственную аннотацию, определяющую выбор нужной реализации, и затем использовать её для внедрения зависимостей.