awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
square avatar

square/daggerArchived

0
View on GitHub↗
7,281 Stars·3,076 Forks·Java·Apache-2.0·3 Aufrufesquare.github.io/dagger↗

Dagger

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 to control object longevity, such as shared singletons or lazy initialization.

The system covers a broad range of capabilities including automated dependency provisioning through annotated constructors, component binding management via modules, and the ability to override bindings with mocks for isolated unit testing. It further supports static field injection and the mapping of types to specific implementations.

Features

  • Static Injection Frameworks - Implements a Java-based dependency injection framework that uses compile-time code generation instead of reflection.
  • Dependency Injection - Automates the creation and delivery of object dependencies through a compile-time dependency injection framework.
  • Static Dependency Resolution - A framework that resolves object dependencies during the build process to avoid expensive runtime reflection.
  • Static Dependency Resolution - Determines object requirements by analyzing source code at build time instead of searching memory at runtime.
  • Android Dependency Management - Automates the creation and delivery of object dependencies specifically within Android applications.
  • Dependency Mapping - Maps dependencies by scanning Java annotations to determine the required implementation types at compile time.
  • Dependency Injection - Instantiates and delivers required objects to classes by resolving complex dependency graphs.
  • Automated Object Delivery - Reduces manual boilerplate by automating the creation and delivery of object dependencies throughout the application.
  • Factory Generators - Generates Java factory classes at build time to instantiate objects without using runtime reflection.
  • Object Lifecycle Management - Controls whether dependencies are created as singletons, initialized lazily, or instantiated fresh for every request.
  • Graph Validation - Analyzes the dependency graph during compilation to detect missing bindings or circular dependencies.
  • Service Lifetime Scopes - Manages object longevity through scope definitions like singletons or activity-level caches.
  • Dependency Scopes - Controls object longevity by supporting shared singletons, lazy initialization, or fresh instances for every request.
  • Custom Binding Definitions - Provides a mechanism to define dependencies for interfaces or third-party classes using provider methods.
  • Dependency Qualifiers - Uses qualifier annotations to distinguish between multiple implementations of the same type.
  • Interface-to-Implementation Bindings - Maps abstract interfaces to concrete class implementations and supports contributing multiple values to set bindings.
  • Java Application Architecture - Manages complex object graphs and class lifecycles in Java projects to improve modularity and testability.
  • Compile-Time Validators - Verifies the integrity of the dependency graph during the build process to ensure all bindings are satisfied.
  • Binding Replacements - Enables replacing production implementations with substitute objects or mocks for isolated unit testing.
  • Unit Testing - Supports isolating components during testing by replacing production implementations with mocks.
  • Dependency Injection - Fast, compile-time dependency injection for Java and Android.
  • Developer Utilities - Dependency injection framework for Java and Android.
  • ProGuard Configurations - Provides dependency injection configuration rules.

Star-Verlauf

Star-Verlauf für square/daggerStar-Verlauf für square/dagger

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht square/dagger?

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.

Was sind die Hauptfunktionen von square/dagger?

Die Hauptfunktionen von square/dagger sind: Static Injection Frameworks, Dependency Injection, Static Dependency Resolution, Android Dependency Management, Dependency Mapping, Automated Object Delivery, Factory Generators, Object Lifecycle Management.

Welche Open-Source-Alternativen gibt es zu square/dagger?

Open-Source-Alternativen zu square/dagger sind unter anderem: google/guice — Guice is a Java dependency injection framework and component container. It automates object wiring by mapping… google/dagger — Dagger is a compile-time dependency injection framework for Java and Android applications. It automates the… insertkoinio/koin — Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves… uber-go/fx — Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model… excilys/androidannotations — AndroidAnnotations is a boilerplate generator and component annotation library designed for Android development. It… inversify/inversifyjs — InversifyJS is an inversion of control framework and dependency injection library for TypeScript. It provides a…

Open-Source-Alternativen zu Dagger

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Dagger.
  • google/guiceAvatar von google

    google/guice

    12,734Auf GitHub ansehen↗

    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

    Java
    Auf GitHub ansehen↗12,734
  • google/daggerAvatar von google

    google/dagger

    17,697Auf GitHub ansehen↗

    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

    Java
    Auf GitHub ansehen↗17,697
  • insertkoinio/koinAvatar von InsertKoinIO

    InsertKoinIO/koin

    9,992Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗9,992
  • excilys/androidannotationsAvatar von excilys

    excilys/androidannotations

    10,981Auf GitHub ansehen↗

    AndroidAnnotations is a boilerplate generator and component annotation library designed for Android development. It functions as a dependency injection framework that uses custom annotations to automate the wiring of activities, fragments, and services. The project focuses on reducing manual plumbing through the automation of Android boilerplate. It provides automated solutions for dependency injection and view binding, removing the need for repetitive calls to locate UI elements or manually write factory classes. The library covers activity lifecycle management and the generation of standar

    Java
    Auf GitHub ansehen↗10,981
  • Alle 30 Alternativen zu Dagger anzeigen→