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
·
google avatar

google/daggerFork

0
View on GitHub↗
17,697 stele·2,040 fork-uri·Java·apache-2.0·4 vizualizăridagger.dev↗

Dagger

Dagger is a compile-time dependency injection framework for Java and Android applications. It automates the construction and wiring of object graphs by generating static source code during the build process, which eliminates the need for reflection or runtime bytecode generation.

The framework distinguishes itself by performing strict validation of the entire dependency structure before the application runs, ensuring that all required bindings are satisfied and identifying circular references early. It manages object lifecycles through scoped containers and supports lazy resolution, allowing developers to defer the instantiation of resources until they are explicitly requested.

The system provides comprehensive tools for managing complex object graphs, including support for environment-specific configurations, assisted injection, and the ability to swap production components with test-specific implementations. It also facilitates the aggregation of related objects and handles optional dependencies, providing a structured approach to resource allocation and memory management.

Features

  • Static Injection Frameworks - Constructs and validates object graphs for Java and Android applications using compile-time code generation.
  • Dependency Injection - Automates the construction and wiring of object graphs at compile time, eliminating the need for reflection or expensive runtime bytecode generation.
  • Mobile Injection Frameworks - Provides a platform-specific solution for managing object lifecycles and dependency provision in mobile applications.
  • Compile-Time Builders - The framework generates code to link annotated classes and modules into a complete dependency structure that serves as the central entry point for application components.
  • Dependency Graph Compilers - Performs strict compile-time checks to ensure all required dependencies are satisfied and the graph is complete before the final application is built.
  • Compile-Time Validators - Analyzes the entire dependency structure during compilation to detect missing bindings or circular references before the application runs.
  • Compile-Time Code Generation - Generates static factory classes and wiring logic during the build process to eliminate reflection and runtime overhead.
  • Build-Type Provisioning - The framework defines and provisions different object implementations for specific build types to ensure the correct logic runs in testing, debug, or production environments.
  • Metadata-Driven Dependency Injection - Uses metadata markers on constructors and fields to identify injection points and define how objects are provisioned.
  • Scoped Lifecycle Managers - Manages object lifecycles by storing instances within specific component containers to control memory usage and ensure proper reuse.
  • Dependency Injection Providers - The framework retrieves fresh objects or multiple instances by injecting providers that execute the binding logic on demand instead of relying on a single static value.
  • Component Builders - Exposes explicit interfaces for injecting runtime configuration values into the dependency graph during the initialization phase.
  • Assisted Injection Systems - Injects parameters provided at runtime into objects that also require dependencies already managed by the central dependency injection container.
  • Binding Replacements - Swaps production dependency bindings with test-specific implementations to simplify the verification of code during automated testing.
  • Android Libraries - Dependency injection framework for Java and Android.
  • Dependency Injection - Fast dependency injector for Android.
  • Lazy Providers - Wraps dependencies in functional interfaces to defer object creation until the exact moment they are requested by the application.
  • Dependency-Injected Configurations - The framework injects runtime data or configuration values into the dependency graph by passing them directly through the component builder during the initialization phase.
  • Dependency Qualifiers - Distinguishes between multiple bindings of the same type by using unique labels or identifiers to ensure the correct dependency instance is selected.
  • Lazy Initialization - Delays the instantiation of dependencies until they are explicitly requested to improve application startup speed.
  • Dependency Aggregators - The framework collects several related objects into a single group or map to inject them collectively without needing direct references to each individual item.
  • Custom Binding Definitions - Declares dependencies for interfaces, third-party classes, or configurable objects that cannot be automatically identified or injected through standard annotation scanning.
  • Optional Dependency Handlers - Enables components to function when certain dependencies are missing by injecting wrappers that indicate whether a specific binding is currently available.
  • Performance Optimization - Improves startup speed and memory usage by controlling object lifecycles and delaying the instantiation of heavy resources.
  • Directed Acyclic Graphs - Organizes object dependencies into a structured hierarchy to ensure all required components are instantiated in the correct order.
  • Testing Utilities - Provides specialized utilities to configure and inject dependencies within local or instrumentation test environments.
  • Binding Caching Strategies - Limits object instantiation frequency by caching bindings within specific components to reduce memory overhead.

Istoric stele

Graficul istoricului de stele pentru google/daggerGraficul istoricului de stele pentru google/dagger

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

Alternative open-source pentru Dagger

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Dagger.
  • square/daggerAvatar square

    square/dagger

    7,281Vezi pe 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
    Vezi pe GitHub↗7,281
  • insertkoinio/koinAvatar InsertKoinIO

    InsertKoinIO/koin

    9,992Vezi pe GitHub↗

    Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves dependencies through a lightweight container. It functions as a multiplatform library, allowing shared object definitions and resource bindings to be reused across different target platforms and source sets. The framework provides a system for resolving dependencies directly within user interface components to decouple business logic from view implementations. It includes a compile-time dependency validator that analyzes dependency graphs during the build process to detect missing bindi

    Kotlinandroiddependency-injectioninjection
    Vezi pe GitHub↗9,992
  • evant/kotlin-injectAvatar evant

    evant/kotlin-inject

    1,503Vezi pe GitHub↗

    Kotlin-inject is a dependency injection framework for Kotlin that utilizes compile-time code generation to construct type-safe object graphs. By processing declarative annotations during the build process, the library eliminates the need for runtime reflection, ensuring that dependency resolution and validation occur before the application executes. The framework distinguishes itself through its native support for Kotlin Multiplatform, enabling consistent dependency management across shared and platform-specific codebases. It provides specialized mechanisms for assisted injection, allowing de

    Kotlindependency-injectionkotlin
    Vezi pe GitHub↗1,503
  • quarkusio/quarkusAvatar quarkusio

    quarkusio/quarkus

    15,479Vezi pe GitHub↗

    Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program

    Javacloud-nativehacktoberfestjava
    Vezi pe GitHub↗15,479
Vezi toate cele 30 alternative pentru Dagger→

Întrebări frecvente

Ce face google/dagger?

Dagger is a compile-time dependency injection framework for Java and Android applications. It automates the construction and wiring of object graphs by generating static source code during the build process, which eliminates the need for reflection or runtime bytecode generation.

Care sunt principalele funcționalități ale google/dagger?

Principalele funcționalități ale google/dagger sunt: Static Injection Frameworks, Dependency Injection, Mobile Injection Frameworks, Compile-Time Builders, Dependency Graph Compilers, Compile-Time Validators, Compile-Time Code Generation, Build-Type Provisioning.

Care sunt câteva alternative open-source pentru google/dagger?

Alternativele open-source pentru google/dagger includ: square/dagger — Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and… insertkoinio/koin — Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves… evant/kotlin-inject — Kotlin-inject is a dependency injection framework for Kotlin that utilizes compile-time code generation to construct… quarkusio/quarkus — Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications.… google/guice — Guice is a Java dependency injection framework and component container. It automates object wiring by mapping… dotnet/core — This project is a cross-platform development framework and managed runtime environment designed for building…