# Introduction

DiVine is an advanced [dependency injection](https://en.wikipedia.org/wiki/Dependency_injection) framework for Java, that is inspired by the design of the TypeScript [typedi](https://github.com/typestack/typedi) library.

DiVine gets rid of massive bolilerplate codes that are caused by initialization processes. It helps you focus on the development of actual features, rather than structure.

Using DiVine also ensures, that your code is easy for unit testing. You can easily inject your mocks and modify segments of your application without the need to change the source code.

DiVine is simple. The learning curve is simple. You can enjoy its straighforward API.

### What does DiVine provide?

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Productivity</strong></td><td>Focus on the real features</td><td></td><td></td><td><a href="getting-started/quickstart">quickstart</a></td></tr><tr><td><strong>Improved testing</strong></td><td>No need to change the source code</td><td></td><td></td><td><a href="advanced-usage">advanced-usage</a></td></tr><tr><td><strong>Automation</strong></td><td>Mange service lifecycles automatically</td><td></td><td></td><td><a href="getting-started/publish-your-docs">publish-your-docs</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://divine.qibergames.com/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
