Repolode
google

google/guice

Guice — лёгкий фреймворк для внедрения зависимостей в Java 11+, который избавляет от необходимости использовать фабрики и создавать объекты напрямую.

Звёзды
12,729
Форки
1,675
Открытые issues
372
Последний коммит
8 дней назад

Что это?

Guice — разработанный Google фреймворк для внедрения зависимостей в Java. Его основная идея в том, что классы объявляют зависимости с помощью @Inject, а Guice предоставляет нужные объекты. Благодаря этому коду приложения не нужно вызывать new или зависеть от фабричных классов. Так код проще изменять, покрывать модульными тестами и повторно использовать в разных контекстах.

Guice опирается на возможности Java по обеспечению типобезопасности и стремится к предсказуемому поведению без скрытой магии. В основе фреймворка — небольшой набор функций и точки расширения, а не попытка включить в него всё подряд. При ошибках конфигурации Guice выдаёт подробные сообщения, помогающие найти причину.

Проект опубликован в Maven Central как основной артефакт com.google.inject:guice; для таких областей, как assisted injection, JMX, JNDI, persistence, Spring и совместимость с Dagger, доступны дополнительные модули. Версии 6.0.0 и 7.0.0 функционально эквивалентны и в основном различаются тем, что рассчитаны на пространства имён javax и jakarta.

Ключевые возможности

  • 01Внедряет зависимости, объявленные с помощью @Inject, сокращая объём кода для ручного создания объектов и фабрик.
  • 02Типобезопасные привязки, проверяемые системой типов Java.
  • 03Дополнительные модули для assisted injection, persistence, JMX, JNDI, Spring и Dagger.
  • 04Понятные сообщения об ошибках при неверной настройке внедрения зависимостей.
  • 05Доступен в Maven Central в версиях для пространств имён javax и jakarta.

Сценарии использования

  • Организация Java-приложения, в котором компоненты получают зависимости, а не создают их самостоятельно.
  • Упрощение модульного тестирования классов за счёт подмены зависимостей моками или альтернативными реализациями.
  • Подключение внедрения зависимостей в Java-проект для веб-разработки или корпоративных систем, использующий API javax или jakarta.

Быстрый старт

  1. 1

    Добавьте зависимость Maven Guice Core (com.google.inject:guice) в свой проект

  2. 2

    Найдите последнюю версию на Maven Central и укажите её в зависимости

Что важно знать

  • Требуется Java 11 или новее.
  • Версия 6.0.0 предназначена для пакетов javax, а версия 7.0.0 — для пакетов jakarta. Выберите версию, соответствующую вашему стеку.

В подборках

Темы

Частые вопросы

Что такое guice?
Guice — лёгкий фреймворк для внедрения зависимостей в Java 11+, который избавляет от необходимости использовать фабрики и создавать объекты напрямую. Guice — разработанный Google фреймворк для внедрения зависимостей в Java. Его основная идея в том, что классы объявляют зависимости с помощью @Inject, а Guice предоставляет нужные объекты. Благодаря этому коду приложения не нужно вызывать new или зависеть от фабричных классов. Так код проще изменять, покрывать модульными тестами и повторно использовать в разных контекстах.
guice можно использовать бесплатно? Какая у него лицензия?
guice распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
guice всё ещё поддерживается?
Активно поддерживается. Последний коммит в guice — 30 окт. 2026 г..
Для чего можно использовать guice?
Организация Java-приложения, в котором компоненты получают зависимости, а не создают их самостоятельно. Упрощение модульного тестирования классов за счёт подмены зависимостей моками или альтернативными реализациями. Подключение внедрения зависимостей в Java-проект для веб-разработки или корпоративных систем, использующий API javax или jakarta.
Как установить guice?
Добавьте зависимость Maven Guice Core (com.google.inject:guice) в свой проект Найдите последнюю версию на Maven Central и укажите её в зависимости
Где скачать guice?
Исходный код и инструкции по установке — на GitHub: https://github.com/google/guice

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Прогрессивный фреймворк для Node.js, позволяющий создавать эффективные и масштабируемые серверные приложения на TypeScript или JavaScript.

77 тыс.+36 за неделю8,7 тыс.TypeScriptMITАктивно поддерживаетсяОбновлён 10 часов назад

PHP-фреймворк для веб-приложений с выразительным синтаксисом: маршрутизация, внедрение зависимостей, миграции, очереди и трансляция событий.

35 тыс.+4 за неделю12 тыс.PHPMITАктивно поддерживаетсяОбновлён 8 часов назад

Фундаментальный Java-фреймворк для корпоративных приложений: предоставляет внедрение зависимостей, MVC и инфраструктурную поддержку для всей экосистемы Spring.

60,3 тыс.38,8 тыс.JavaApache-2.0Активно поддерживаетсяОбновлён 6 часов назад