> For the complete documentation index, see [llms.txt](https://staffplusplus-minecraft.gitbook.io/tubing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://staffplusplus-minecraft.gitbook.io/tubing/master.md).

# Introduction

Tubing is a dependency injection framework (and a bit more), specially developed for Bukkit plugins.\
Tubing configuration is mostly annotation based which makes it extremely easy to setup and use.\
\
It provides following features:

* Use IocBean to register a singleton bean
* Constructor inject registered beans
* Interface injection
* List injection
* Automate registration of Listener, Commands, BungeeListeners.
* Configuration properties injection
* Conditional bean registration based on configuration properties
* Simply reload your entire configuration
* Automatically update existing configuration files to new versions.
* Full GUI framework

Source code: <https://github.com/garagepoort/Tubing>\
Example: <https://github.com/garagepoort/TubingExample>
