All Projects → avaje → avaje-inject

avaje / avaje-inject

Licence: Apache-2.0 license
Dependency injection via APT (source code generation) ala "Server side Dagger DI"

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to avaje-inject

jeta
brooth.github.io/jeta
Stars: ✭ 21 (-81.58%)
Mutual labels:  apt, annotation-processing
waiter
Dependency injection, Inversion of control container for rust with compile time binding.
Stars: ✭ 71 (-37.72%)
Mutual labels:  dependency-injection, inversion-of-control
RapidORM
Quick solutions for Android ORM
Stars: ✭ 24 (-78.95%)
Mutual labels:  apt, annotation-processing
Inversify Express Example
The official express + inversify+ inversify-express-utils examples
Stars: ✭ 210 (+84.21%)
Mutual labels:  dependency-injection, inversion-of-control
vesselize
⛵ A JavaScript IoC container that works seamlessly with Vue.js and React.
Stars: ✭ 22 (-80.7%)
Mutual labels:  dependency-injection, inversion-of-control
Typhoon
Powerful dependency injection for Objective-C ✨✨ (https://PILGRIM.PH is the pure Swift successor to Typhoon!!)✨✨
Stars: ✭ 2,711 (+2278.07%)
Mutual labels:  dependency-injection, inversion-of-control
Kotlin-Annotation-Processor
Annotation Processor Sample in Kotlin
Stars: ✭ 19 (-83.33%)
Mutual labels:  annotation-processing, kapt
React Ioc
Hierarchical Dependency Injection with new React 16 Context API
Stars: ✭ 133 (+16.67%)
Mutual labels:  dependency-injection, inversion-of-control
awilix-express
Awilix helpers/middleware for Express
Stars: ✭ 100 (-12.28%)
Mutual labels:  dependency-injection, inversion-of-control
iocgo
A lightweight Inversion of Control (IoC) (Dependency Injection) container for Golang
Stars: ✭ 36 (-68.42%)
Mutual labels:  dependency-injection, inversion-of-control
Typedi
Simple yet powerful dependency injection tool for JavaScript and TypeScript.
Stars: ✭ 2,832 (+2384.21%)
Mutual labels:  dependency-injection, inversion-of-control
dargo
Dependency Injection for GO
Stars: ✭ 26 (-77.19%)
Mutual labels:  dependency-injection, inversion-of-control
Ioc
🦄 lightweight (<1kb) inversion of control javascript library for dependency injection written in typescript
Stars: ✭ 171 (+50%)
Mutual labels:  dependency-injection, inversion-of-control
AnnotationProcessorStarter
Project to set up basics of a Java annotation processor
Stars: ✭ 19 (-83.33%)
Mutual labels:  apt, annotation-processing
Qframework
Unity3D System Design Architecture
Stars: ✭ 2,326 (+1940.35%)
Mutual labels:  dependency-injection, inversion-of-control
stashbox
A lightweight, fast, and portable dependency injection framework for .NET-based solutions.
Stars: ✭ 120 (+5.26%)
Mutual labels:  dependency-injection, inversion-of-control
Container Ioc
Inversion of Control container & Dependency Injection for Javascript and Node.js apps powered by Typescript.
Stars: ✭ 89 (-21.93%)
Mutual labels:  dependency-injection, inversion-of-control
Deli
Deli is an easy-to-use Dependency Injection(DI).
Stars: ✭ 125 (+9.65%)
Mutual labels:  dependency-injection, inversion-of-control
copydynamic
Prototype of generating `copyDynamic` extension functions for kotlin data classes
Stars: ✭ 57 (-50%)
Mutual labels:  annotation-processing, kapt
Components.js
🧩 A semantic dependency injection framework
Stars: ✭ 34 (-70.18%)
Mutual labels:  dependency-injection, inversion-of-control

Build JDK EA License Maven Central : avaje-inject

avaje-inject

APT based dependency injection for server side developers - https://avaje.io/inject

Example module use

module org.example {

  requires io.avaje.inject;

  provides io.avaje.inject.spi.Module with org.example.ExampleModule;
}

Similar to Dagger (https://google.github.io/dagger/)

  • Uses Java annotation processing for dependency injection
  • Generates source code
  • Avoids any use of reflection or classpath scanning (so low overhead and fast startup)
  • A Library only (a DI library and that's it ~25k in size)

Differences to Dagger

  • Aimed specifically for server side development (rather than Andriod)
  • Supports lifecycle methods with @PostConstruct and @PreDestory
  • Supports @Factory and @Bean
  • Provides API to obtain all bean instances that implement an interface
  • Provides API to obtain all bean instances that have an annotation
  • Integration with server side web frameworks Javalin, Helidon

Spring DI

For comparison with Spring DI look at https://avaje.io/inject/#spring

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].