awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/guice

0
View on GitHub↗
12,734 stars·1,680 forks·Java·Apache-2.0·11 vuesgithub.com/google/guice↗

Guice

Guice is a Java dependency injection framework and component container. It automates object wiring by mapping interfaces to implementations via a central injector, removing the need for manual factory patterns and constructor calls.

The framework provides specialized support for aspect-oriented programming, allowing for the interception and modification of method execution to implement shared cross-cutting concerns. It also functions as a persistence manager to coordinate transaction boundaries and manage the lifecycle of entity managers within a dependency-injected environment.

Its core capabilities include a type-safe binding registry, support for named and multi-instance dependencies, and hybrid instantiation strategies that combine automatic injection with manual factory arguments. It further handles external framework coordination to share resources across different environment specifications.

Features

  • Dependency Injection - Automates the creation and wiring of object dependencies in Java applications using a central injector.
  • Dependency Injection Containers - Resolves object dependencies automatically to replace manual factory patterns and constructor calls.
  • Java Component Containers - Functions as a component container that handles the lifecycle and provisioning of application objects.
  • Dependency Mapping - Maps interfaces to concrete implementations by scanning for specific Java annotations during configuration.
  • Static Injection Frameworks - Provides a Java-based dependency injection framework for automating object wiring.
  • Constructor Injection - Resolves object graphs by recursively instantiating dependencies and passing them into class constructors at runtime.
  • Automatic Constructor Injection - Provides required objects to a class constructor automatically based on provided annotations.
  • Dependency Injection - Wires application components by injecting required dependencies into objects during runtime.
  • Interface-to-Implementation Bindings - Defines bindings between interfaces and concrete classes to decouple components and improve modularity.
  • Object Management Systems - Returns fully initialized instances of bound classes from a centralized injector.
  • Decoupled Architectures - Maps interfaces to concrete implementations to decouple business logic from technical details.
  • Type-Safe Binding Registries - Stores associations between requested types and their providers in a centralized map for consistent instance retrieval.
  • Persistence Unit Managers - Provisions entity managers and handles transactional units of work including rollbacks.
  • Java Persistence Toolkits - Manages entity managers and coordinates transaction boundaries within a dependency-injected environment.
  • Persistence Layers - Integrates the persistence layer by managing the lifecycle of database entity managers and transactional units of work.
  • Aspect-Oriented Programming - Provides specialized support for aspect-oriented programming to implement cross-cutting concerns like logging or security.
  • Aspect-Oriented Programming Frameworks - Intercepts and modifies method execution behavior to implement shared concerns without changing core business logic.
  • Dependency Qualifiers - Associates dependencies with string identifiers to distinguish between multiple implementations of the same type.
  • Hybrid Instantiation Strategies - Creates object instances by merging manual factory arguments with automatically injected dependencies.
  • Lazy Instance Provisioning - Creates and configures objects only when they are requested by the injector to optimize startup time.
  • Multi-Instance Bindings - Groups related objects into a single collection for injection into a dependent component.
  • Provider Patterns - Wraps object creation in provider classes to allow for lazy initialization and controlled lifecycle management.
  • Assisted Injection Interfaces - Uses factory interfaces and injection to create objects requiring both dependencies and runtime arguments.
  • Runtime Proxy Interceptors - Uses Java dynamic proxies to wrap objects and execute cross-cutting logic before or after method calls.
  • Dependency Injection - Lightweight dependency injection framework for Java.
  • Developer Productivity - Dependency injection framework for managing object lifecycles and wiring.

Historique des stars

Graphique de l'historique des stars pour google/guiceGraphique de l'historique des stars pour google/guice

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Guice

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Guice.
  • square/daggerAvatar de square

    square/dagger

    7,281Voir sur GitHub↗

    Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and lifecycle management. It functions as a static dependency injector and graph validator, resolving object requirements during the build process to avoid runtime reflection and prevent crashes caused by missing bindings. The framework distinguishes itself by using static analysis and code generation to produce factory classes at build time. It employs qualifier-based type differentiation to manage multiple implementations of the same type and provides scope-based lifecycle management

    Java
    Voir sur GitHub↗7,281
  • uber-go/fxAvatar de uber-go

    uber-go/fx

    7,354Voir sur GitHub↗

    Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model container that automates the instantiation and connection of components by analyzing constructor parameters and return values to resolve complex dependency graphs. The framework distinguishes itself through module-based component bundling, which encapsulates related constructors into reusable units to manage visibility and logic. It provides advanced resolution capabilities, including mapping concrete types to interfaces for decoupling, resolving dependency ambiguities via unique

    Goapp-frameworkdependency-injectionframework
    Voir sur GitHub↗7,354
  • fuzhengwei/small-springAvatar de fuzhengwei

    fuzhengwei/small-spring

    4,899Voir sur GitHub↗

    Small-Spring is a simplified Java implementation of the Spring framework designed to study the internal architecture of inversion of control containers and dependency injection frameworks. It functions as a bean container that manages object lifecycles and resolves dependencies through automated instantiation and property injection. The project implements a mechanism for intercepting method calls using dynamic proxies to support aspect-oriented programming. It separates cross-cutting concerns from business logic by wrapping target objects to modify method executions. The system covers compon

    Java
    Voir sur GitHub↗4,899
  • samber/doAvatar de samber

    samber/do

    2,645Voir sur GitHub↗

    This project is a type-safe dependency injection framework for Go that manages application lifecycles and injects dependencies into structures using reflection and metadata tags. It functions as a service lifecycle manager and an interface binding library to decouple service consumption from concrete implementations. The framework utilizes a hierarchical service container, organizing services into a tree of nested scopes where child containers inherit dependencies from their ancestors. It includes a dependency graph visualizer for inspecting relationships and invocation chains, as well as a s

    Gocontainerdependencydependency-graph
    Voir sur GitHub↗2,645
Voir les 30 alternatives à Guice→

Questions fréquentes

Que fait google/guice ?

Guice is a Java dependency injection framework and component container. It automates object wiring by mapping interfaces to implementations via a central injector, removing the need for manual factory patterns and constructor calls.

Quelles sont les fonctionnalités principales de google/guice ?

Les fonctionnalités principales de google/guice sont : Dependency Injection, Dependency Injection Containers, Java Component Containers, Dependency Mapping, Static Injection Frameworks, Constructor Injection, Automatic Constructor Injection, Interface-to-Implementation Bindings.

Quelles sont les alternatives open-source à google/guice ?

Les alternatives open-source à google/guice incluent : square/dagger — Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and… uber-go/fx — Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model… fuzhengwei/small-spring — Small-Spring is a simplified Java implementation of the Spring framework designed to study the internal architecture… samber/do — This project is a type-safe dependency injection framework for Go that manages application lifecycles and injects… google/dagger — Dagger is a compile-time dependency injection framework for Java and Android applications. It automates the… inversify/inversifyjs — InversifyJS is an inversion of control framework and dependency injection library for TypeScript. It provides a…