Набор генераторов кода для Java на основе обработки аннотаций: AutoValue, AutoFactory, AutoService и вспомогательные утилиты Common.
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
Добавьте зависимость Maven Guice Core (com.google.inject:guice) в свой проект
- 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 обновляется ежедневно.
Похожие проекты
Модульный фреймворк для Java с внедрением зависимостей, автоконфигурацией, Web MVC, HTTP-сервером на Netty и средствами доступа к данным, вдохновлённый Spring.
Прогрессивный фреймворк для Node.js, позволяющий создавать эффективные и масштабируемые серверные приложения на TypeScript или JavaScript.
PHP-фреймворк для веб-приложений с выразительным синтаксисом: маршрутизация, внедрение зависимостей, миграции, очереди и трансляция событий.
Фундаментальный Java-фреймворк для корпоративных приложений: предоставляет внедрение зависимостей, MVC и инфраструктурную поддержку для всей экосистемы Spring.
Собирайте оптимизированные Docker- и OCI-образы Java-приложений с помощью Maven или Gradle, не используя Docker daemon.