Implementation of dependency injection in java.
This package didn't upload to the maven central repository. Thus, for using this dependency you can use Jitpack.io.
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.serveriev</groupId>
<artifactId>dependency-injection</artifactId>
<version>v1.0</version>
</dependency>
You should create a Java file for initializing your instances(aka beans configuration in spring).
import io.lenur.di.annotation.Dependencies;
import io.lenur.di.annotation.Instance;
@Dependencies
public class Instances {
@Instance
public AnswerDao getAnswerDai() {
return new AnswerDao();
}
@Instance
public QuestionDao getQuestionDao() {
return new QuestionDao();
}
}
import io.lenur.di.annotation.Inject;
public class AnswerController {
@Inject
private AnswerDao answerDao;
public boolean add(Answer answer) {
return answerDao.add(answer);
}
public List<Answer> getAll() {
return answerDao.getAll();
}
}
import io.lenur.di.Dependency;
import io.lenur.di.PackageContext;
public class Application {
public static void main(String[] args) {
PackageContext context = Dependency.init("io.example");
AnswerController answerController = (AnswerController) context.getInstance(AnswerController.class);
QuestionController questionController = (QuestionController) context.getInstance(QuestionController.class);
}
}
See a demo project for details
Lenur
- Github: @serveriev
Give a ⭐️ if this project helped you!
Copyright © 2020 Lenur.
This project is MIT licensed.