awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Java Dependency Injection Libraries

Ranking updated Jul 13, 2026

For a dependency injection framework for Java, the strongest matches are google/guice (Guice is a comprehensive Java dependency injection framework that), spring-projects/spring-framework (Spring Framework is the industry-standard Java dependency injection container) and derekyrc/mini-spring (This is a lightweight Java dependency injection framework that). square/dagger and fuzhengwei/small-spring round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

We curate open-source GitHub repositories matching “best java dependency injection libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Java Dependency Injection Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • google/guicegoogle avatar

    google/guice

    12,734View on 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

    Guice is a comprehensive Java dependency injection framework that provides a robust Inversion of Control container, full support for annotation-based configuration, and flexible constructor injection to manage object lifecycles.

    JavaAutomatic Constructor InjectionConstructor InjectionDependency Injection
    View on GitHub↗12,734
  • spring-projects/spring-frameworkspring-projects avatar

    spring-projects/spring-framework

    60,056View on GitHub↗

    Spring Framework is an enterprise Java framework providing a comprehensive infrastructure for building server-side applications. It functions as a dependency injection container and a Java application framework designed to support scalable backend development through modular architecture. The project provides tools for aspect-oriented programming to intercept method calls using dynamic proxies, allowing the application of cross-cutting concerns such as security and transactions. It also includes a centralized system for managing object lifecycles and coordinating component wiring by injecting

    Spring Framework is the industry-standard Java dependency injection container that provides comprehensive support for annotation-based configuration, constructor injection, and robust lifecycle management.

    JavaAnnotation-Driven ConfigurationInversion-of-Control ContainersDependency Injection Containers
    View on GitHub↗60,056
  • derekyrc/mini-springDerekYRC avatar

    DerekYRC/mini-spring

    6,360View on 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

    This is a lightweight Java dependency injection framework that provides an Inversion of Control container, annotation-based configuration, and lifecycle management for beans, directly addressing your requirements.

    JavaAnnotation-Driven ConfigurationInversion-of-Control ContainersDependency Injection
    View on GitHub↗6,360
  • square/daggersquare avatar

    square/dagger

    7,281View on 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

    Dagger is a compile-time dependency injection framework for Java that provides an Inversion of Control container, supports constructor injection, and uses annotation-based configuration to manage object lifecycles without runtime reflection.

    JavaDependency InjectionDependency Injection
    View on GitHub↗7,281
  • fuzhengwei/small-springfuzhengwei avatar

    fuzhengwei/small-spring

    4,899View on 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

    Small-Spring is a simplified educational implementation of an Inversion of Control container that provides core dependency injection and bean lifecycle management, making it a functional, albeit minimalist, example of the requested category.

    JavaInversion-of-Control ContainersDependency InjectionDependency Injection Frameworks
    View on GitHub↗4,899
  • code4craft/tiny-springcode4craft avatar

    code4craft/tiny-spring

    4,089View on GitHub↗

    tiny-spring is a Java inversion of control container and aspect-oriented programming framework. It provides a system for managing object lifecycles and dependency injection to decouple application components. The project features a bytecode proxy generator that enables method interception and behavioral modification for classes that do not implement interfaces. It uses pointcut expressions to match specific classes and methods for the execution of cross-cutting logic via dynamic proxies. The framework manages singleton components and resolves object dependencies using lazy initialization. Ap

    This is a lightweight Java inversion of control container that provides core dependency injection and lifecycle management, serving as a functional implementation of the requested design pattern.

    JavaInversion-of-Control ContainersDependency InjectionDependency Injection Containers
    View on GitHub↗4,089
  • roboguice/roboguiceroboguice avatar

    roboguice/roboguice

    3,722View on GitHub↗

    RoboGuice is a dependency injection library based on Google Guice, specifically designed for Android applications. It functions as an annotation-processed dependency injection container that automates the delivery of system services and application dependencies into Android components to reduce boilerplate code. The project uses annotation processing to optimize application startup times and initialization. By utilizing compile-time bytecode generation, it reduces the overhead typically associated with runtime reflection during the initialization of the dependency container. The framework ma

    RoboGuice is a dependency injection framework built on Google Guice that provides annotation-based wiring and lifecycle management specifically tailored for the Android environment.

    JavaDependency InjectionDependency Injection
    View on GitHub↗3,722
  • spring-projects/spring-bootspring-projects avatar

    spring-projects/spring-boot

    80,945View on GitHub↗

    Spring Boot is an opinionated application framework designed to streamline the creation of production-ready services. It functions as a comprehensive development platform that utilizes a centralized dependency injection container to manage object lifecycles and wiring. By employing convention-over-configuration, the framework automates the instantiation of components based on the presence of specific libraries and configuration properties, significantly reducing the need for manual setup. The framework distinguishes itself by bundling the application and its web server into a single, self-con

    Spring Boot is a comprehensive Java application framework that centers on a robust dependency injection container, providing full support for annotation-based configuration, constructor injection, and automated object lifecycle management.

    JavaGeneral Purpose FrameworksAuto-Configuration MechanismsDependency Injection Systems
    View on GitHub↗80,945
  • excilys/androidannotationsexcilys avatar

    excilys/androidannotations

    10,981View on GitHub↗

    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

    This library provides an annotation-based dependency injection framework specifically tailored for the Android ecosystem, automating object wiring and lifecycle management through compile-time code generation.

    JavaDependency Injection
    View on GitHub↗10,981
  • quarkusio/quarkusquarkusio avatar

    quarkusio/quarkus

    15,479View on 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

    Quarkus is a full-stack Java framework that includes a robust, annotation-driven dependency injection container based on CDI, which performs dependency resolution at build time to optimize application startup and memory usage.

    JavaDependency Injection ProvidersDependency InjectionDependency Injection Containers
    View on GitHub↗15,479
  • facebookarchive/injectfacebookarchive avatar

    facebookarchive/inject

    1,408View on 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

    This is a dependency injection framework for the Go programming language, which does not meet your requirement for a Java-based solution.

    GoDependency InjectionDependency Injection ContainersDependency Injection Frameworks
    View on GitHub↗1,408
  • prismlibrary/prismPrismLibrary avatar

    PrismLibrary/Prism

    6,794View on GitHub↗

    Prism is a XAML application framework and MVVM architectural framework designed to build loosely coupled and testable applications across WPF, Xamarin Forms, and WinUI. It serves as a structural pattern implementation that separates business logic from the user interface to improve maintainability and testing. The framework provides a XAML event bus for exchanging data and triggering actions between independent components without direct coupling. It also functions as a dependency injection integrator, bridging external inversion-of-control containers to manage service delivery across multiple

    This is a C# MVVM framework for XAML applications that integrates with external dependency injection containers, rather than a Java-based dependency injection framework.

    C#Inversion-of-Control ContainersDependency InjectionDependency Injection Containers
    View on GitHub↗6,794
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
google/guice12.7KJavaApache-2.0May 21, 2026
spring-projects/spring-framework60.1KJavaApache-2.0Jun 23, 2026
derekyrc/mini-spring6.4KJavaApache-2.0Jun 21, 2026
square/dagger7.3KJavaApache-2.0Aug 26, 2021
fuzhengwei/small-spring4.9KJavaApache-2.0Jul 17, 2023
code4craft/tiny-spring4.1KJavaApache-2.0Nov 27, 2023
roboguice/roboguice3.7KJavaNOASSERTIONJan 19, 2017
spring-projects/spring-boot80.9KJavaApache-2.0Jun 15, 2026
excilys/androidannotations11KJavaNOASSERTIONMay 31, 2022
quarkusio/quarkus15.5KJavaapache-2.0Feb 21, 2026

Related searches

  • a dependency injection library for TypeScript
  • a dependency injection library for C#
  • a dependency injection container for PHP
  • a dependency injection container for Python
  • a dependency injection toolkit for Go services
  • a lightweight framework for building Java web applications
  • a dependency management and build tool for Java projects
  • a library for managing Java application configuration