awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
codegangsta avatar

codegangsta/inject

0
View on GitHub↗
978 stele·146 fork-uri·Go·MIT·3 vizualizări

Inject

Inject is a dependency injection library for Go that manages object lifecycles and wires application components by automating the provision of dependencies. It functions as a reflection-based container that maps specific values to their corresponding types, enabling the automatic retrieval and injection of objects into application logic.

The library distinguishes itself through its ability to perform automatic function invocation, where it inspects function signatures at runtime to resolve and provide required arguments from a central registry. It also supports struct field injection, which populates object properties by scanning for specific metadata tags during initialization.

The framework facilitates modular design through hierarchical container management, allowing child containers to delegate dependency lookups to parent scopes when a requested type is missing locally. This system supports interface-based resolution, ensuring that concrete implementations are correctly matched to requested types based on runtime evaluation.

Features

  • Dependency Injection Frameworks - Manages object lifecycles and wires complex dependencies in Go applications to improve modularity.
  • Reflection-Based Invocations - Executes functions by automatically resolving required arguments from mapped dependencies using reflection.
  • Dependency Injection Libraries - Provides a toolkit for managing object lifecycles and resolving dependencies using reflection and type-based mapping.
  • Dependency Injection Containers - Provides a dependency injection container that supports chaining and hierarchical resolution.
  • Reflection-Based Dependency Resolution - Matches concrete implementations to requested interface types using runtime reflection.
  • Hierarchical Containers - Supports nested container structures where child scopes inherit dependencies from parent containers.
  • Dependency Argument Injection - Automatically resolves and injects function arguments by inspecting signatures at runtime.
  • Function Invocation Mappings - Automates function execution by mapping dependencies to required parameters.
  • Struct Tags - Populates struct fields by scanning for metadata tags during object initialization.
  • Dependency Injection Population - Automatically populates struct fields with dependencies based on metadata tags.
  • Type-Based Dependency Mappings - Associates values with types to enable automatic retrieval and injection during runtime.

Istoric stele

Graficul istoricului de stele pentru codegangsta/injectGraficul istoricului de stele pentru codegangsta/inject

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Colecții curatoriate care includ Inject

Colecții selectate manual în care apare Inject.
  • Toolkit-uri de dependency injection pentru Go

Alternative open-source pentru Inject

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Inject.
  • facebookarchive/injectAvatar facebookarchive

    facebookarchive/inject

    1,408Vezi pe GitHub↗

    Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging runtime reflection, the library dynamically inspects object structures to resolve and populate required dependencies, decoupling component initialization from business logic. The framework manages object lifecycles through both singleton and factory-based provisioning. It maintains a central registry to share singletons across an application for consistent state, while also supporting the creation of unique, private instances to isolate state between different components. To

    Go
    Vezi pe GitHub↗1,408
  • ets-labs/python-dependency-injectorAvatar ets-labs

    ets-labs/python-dependency-injector

    4,805Vezi pe GitHub↗

    This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a

    Pythonaiohttpasynciodependency-injection
    Vezi pe GitHub↗4,805
  • mvvmcross/mvvmcrossAvatar MvvmCross

    MvvmCross/MvvmCross

    3,917Vezi pe GitHub↗

    MvvmCross is a .NET MVVM framework designed for building cross-platform applications by separating business logic from native user interfaces. It functions as a navigation engine and a UI data binding library, enabling the encapsulation of logic within view models that are reused across different operating systems. The framework provides a native hardware abstraction layer and a dependency injection container to decouple components and provide a consistent interface for accessing device features. It coordinates type-safe transitions between native screens and manages the synchronization of da

    C#androidc-sharpdotnet
    Vezi pe GitHub↗3,917
  • derekyrc/mini-springAvatar DerekYRC

    DerekYRC/mini-spring

    6,360Vezi pe GitHub↗

    mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle of beans, including instantiation, property population, and scope management, while providing a system for automating the wiring of components. The project implements a Java AOP framework that uses dynamic proxies to intercept method calls for cross-cutting logic. It also functions as a Java component scanner to automatically discover and register managed objects via annotations and as a Java event bus to decouple components through a publish-subscribe multicast system. The

    Javamini-springspringspring-boot
    Vezi pe GitHub↗6,360
Vezi toate cele 30 alternative pentru Inject→

Întrebări frecvente

Ce face codegangsta/inject?

Inject is a dependency injection library for Go that manages object lifecycles and wires application components by automating the provision of dependencies. It functions as a reflection-based container that maps specific values to their corresponding types, enabling the automatic retrieval and injection of objects into application logic.

Care sunt principalele funcționalități ale codegangsta/inject?

Principalele funcționalități ale codegangsta/inject sunt: Dependency Injection Frameworks, Reflection-Based Invocations, Dependency Injection Libraries, Dependency Injection Containers, Reflection-Based Dependency Resolution, Hierarchical Containers, Dependency Argument Injection, Function Invocation Mappings.

Care sunt câteva alternative open-source pentru codegangsta/inject?

Alternativele open-source pentru codegangsta/inject includ: facebookarchive/inject — Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging… ets-labs/python-dependency-injector — This is a dependency injection framework and inversion of control container for Python. It decouples object creation… mvvmcross/mvvmcross — MvvmCross is a .NET MVVM framework designed for building cross-platform applications by separating business logic from… jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized… derekyrc/mini-spring — mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle… apple/container — This project serves as a technical educational resource and software implementation example focused on dependency…