awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

12 个仓库

Awesome GitHub RepositoriesAutomatic Constructor Injection

Automatic provisioning of dependencies into constructors via annotations.

Distinct from Dependency Injection Providers: Specializes general DI providers by focusing specifically on the constructor-based injection mechanism.

Explore 12 awesome GitHub repositories matching software engineering & architecture · Automatic Constructor Injection. Refine with filters or upvote what's useful.

Awesome Automatic Constructor Injection GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • google/guicegoogle 的头像

    google/guice

    12,734在 GitHub 上查看↗

    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 cap

    Provides required objects to a class constructor automatically based on provided annotations.

    Java
    在 GitHub 上查看↗12,734
  • uber-go/fxuber-go 的头像

    uber-go/fx

    7,354在 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

    Provides a full-featured dependency injection framework for Go that automates component wiring via constructors.

    Goapp-frameworkdependency-injectionframework
    在 GitHub 上查看↗7,354
  • square/daggersquare 的头像

    square/dagger

    7,281在 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

    Reduces manual boilerplate by automating the creation and delivery of object dependencies throughout the application.

    Java
    在 GitHub 上查看↗7,281
  • symfony/translationsymfony 的头像

    symfony/translation

    6,607在 GitHub 上查看↗

    Symfony Translation is a PHP library and framework component for internationalizing applications. It provides a complete system for managing message catalogs, handling locale-aware string translation, and formatting messages using ICU MessageFormat syntax to support pluralization, gender, and conditional selection. The component organizes translatable strings into named domains, supports key-based lookup that decouples source text from localized versions, and offers deferred rendering through translatable objects that store parameters and render only when output is needed. The library disting

    Resolves constructor type-hints to the matching service from the container without manual wiring.

    PHPcomponentphpsymfony
    在 GitHub 上查看↗6,607
  • microsoft/tsyringemicrosoft 的头像

    microsoft/tsyringe

    5,960在 GitHub 上查看↗

    tsyringe 是一个 TypeScript 依赖注入容器和控制反转框架。它通过使用装饰器和元数据管理依赖项和对象生命周期,将类实现与对象创建解耦。 该框架具有层级容器系统,其中子容器可以维护独立的注册作用域,并回退到父容器进行依赖解析。它提供了一个通过单例和瞬态实例化规则控制对象寿命的提供程序系统。 该系统支持递归构造函数注入,并使用代理处理循环依赖。它包括用于基于令牌的注册表映射、多实现解析以及为实现清理接口的对象提供自动资源处置的功能。

    Provides automatic provisioning of dependencies into constructors using metadata and annotations.

    TypeScriptcontainerdecoratorsdependency
    在 GitHub 上查看↗5,960
  • yeoman/generator-angularyeoman 的头像

    yeoman/generator-angular

    5,675在 GitHub 上查看↗

    This is a Yeoman generator that scaffolds AngularJS projects and components. It automates the setup of a complete AngularJS application with boilerplate code, directory structure, and optional dependencies, while also providing standalone sub-generators for creating controllers, directives, filters, services, views, and routes. The generator handles module registration automatically, injecting generated files into the AngularJS module system and patching route configuration files when new routes are created. It supports generating code in CoffeeScript or TypeScript through a command-line flag

    Adds AngularJS dependency injection annotations automatically during the build step to prevent minification breakage.

    JavaScript
    在 GitHub 上查看↗5,675
  • ets-labs/python-dependency-injectorets-labs 的头像

    ets-labs/python-dependency-injector

    4,805在 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

    Supplies required objects to functions or classes at runtime using markers to eliminate manual instantiation.

    Pythonaiohttpasynciodependency-injection
    在 GitHub 上查看↗4,805
  • uber-go/diguber-go 的头像

    uber-go/dig

    4,470在 GitHub 上查看↗

    dig is a reflection-based dependency injection framework and object graph resolver for Go. It functions as a container that automatically satisfies type dependencies and manages the instantiation of complex networks of objects during application startup. The project utilizes a directed acyclic graph to determine the necessary sequence for object instantiation and employs interface-driven provider mapping to decouple concrete implementations from their satisfied interfaces. It resolves the object hierarchy through reflection-based type resolution and single-pass component wiring to ensure all

    Implements a dependency injection framework specifically designed for the Go programming language.

    Godependency-injectiondigo
    在 GitHub 上查看↗4,470
  • alipay/furyalipay 的头像

    alipay/fury

    4,412在 GitHub 上查看↗

    Fury 是一个多语言二进制序列化框架,旨在编码领域对象和复杂图,以促进跨语言数据交换。它包括一个接口定义语言(IDL)编译器,可将模式定义转换为多种语言中的惯用原生类型和序列化样板代码。 该框架通过零拷贝二进制读取器脱颖而出,该读取器允许在不反序列化整个对象的情况下访问特定字段,以及一个保留循环引用和引用完整性的对象图序列化器。它还具有一个数据转换器,可将基于行的二进制数据转换为用于分析工作负载的列式 Apache Arrow 格式。 该框架涵盖了广泛的功能领域,包括用于前向和后向兼容性的元数据驱动模式演进、用于消除运行时反射的构建时 AOT 编译过程,以及通过基于白名单的类型验证进行的安全反序列化。它还为通过 gRPC 进行的高性能远程过程调用提供了集成。

    Provides optimization rules to ensure generated serializers and metadata are preserved during release build minification.

    Java
    在 GitHub 上查看↗4,412
  • php-di/php-diPHP-DI 的头像

    PHP-DI/PHP-DI

    2,773在 GitHub 上查看↗

    PHP-DI is an inversion of control container designed to manage object lifecycles and dependency resolution within PHP applications. It functions as a centralized registry that automates the wiring of components, allowing for the decoupling of services from their concrete implementations. The library distinguishes itself by utilizing reflection to inspect class constructor signatures, enabling automatic dependency injection without requiring manual configuration for standard scenarios. It supports recursive resolution of dependency graphs and provides mechanisms for lazy object instantiation,

    Performs automatic dependency injection by resolving class constructor parameters through type-hint inspection.

    PHPcontainer-interopdependency-injectionioc
    在 GitHub 上查看↗2,773
  • samber/dosamber 的头像

    samber/do

    2,645在 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

    Provides a dedicated dependency injection framework tailored for the Go programming language.

    Gocontainerdependencydependency-graph
    在 GitHub 上查看↗2,645
  • facebookarchive/injectfacebookarchive 的头像

    facebookarchive/inject

    1,408在 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

    Automates dependency resolution and wiring in Go applications using reflection-based initialization.

    Go
    在 GitHub 上查看↗1,408
  1. Home
  2. Software Engineering & Architecture
  3. Dependency Injection Providers
  4. Automatic Constructor Injection

探索子标签

  • Automated Object DeliveryAutomated instantiation and distribution of object dependencies throughout an application to eliminate boilerplate. **Distinct from Automatic Constructor Injection:** Broadens constructor injection to include the general delivery of dependencies across the app's object graph.
  • Build-Time Minification Annotations1 个子标签Adds dependency injection annotations during the build step to prevent breakage when code is minified. **Distinct from Automatic Constructor Injection:** Distinct from Automatic Constructor Injection: focuses on build-time annotation injection for minification safety, not runtime constructor injection.
  • Go DI FrameworksFrameworks specifically designed for dependency injection in the Go programming language. **Distinct from Automatic Constructor Injection:** Provides a language-specific implementation of automatic constructor injection for Go.