A lightweight, convention-over-configuration dependency injection framework for ColdFusion/CFML applications.
DI/1 (Inject One) is a lightweight dependency injection framework for ColdFusion/CFML applications that implements inversion of control principles. It helps developers manage object dependencies and improve application structure through automatic bean discovery and injection. The framework reduces configuration overhead by using sensible conventions while supporting multiple injection styles.
ColdFusion and CFML developers building maintainable applications who want to implement dependency injection patterns without heavy framework overhead. Particularly useful for developers working with the FW/1 framework family or those transitioning from tightly-coupled codebases.
Developers choose DI/1 for its minimal learning curve and convention-based approach that eliminates complex XML or JSON configuration files. Its tight integration with ColdFusion/CFML conventions and support for multiple injection styles makes it the most accessible DI solution for the CFML ecosystem.
DI/1 - Inject One - is a very lightweight, convention over configuration, dependency injection (inversion of control) framework for ColdFusion / CFML.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically scans folders and applies sensible defaults for bean lifecycle, reducing configuration overhead as shown in the initialization example in the README.
Supports constructor, setter, and property-based injection to accommodate different coding preferences without additional setup, per the README's feature list.
Generates unique bean names and aliases based on folder structure, such as 'user' and 'userBean' for /model/beans/user.cfc, simplifying dependency resolution.
Defaults CFCs in 'beans' folders as transient and others as singletons, with configuration overrides available, making object management intuitive without complex rules.
Designed specifically for ColdFusion/CFML, it cannot be used with other languages or frameworks, restricting its ecosystem and integration options.
Lacks advanced DI features like annotation-based configuration or request-scoped beans, which might be necessary for more complex enterprise applications.
Documentation is hosted separately on the FW/1 site, which could be a barrier if it's not maintained or easily accessible, as noted in the README's link.