• Stars
    star
    105
  • Rank 328,196 (Top 7 %)
  • Language ColdFusion
  • Created over 14 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DI/1 - Inject One - is a very lightweight, convention over configuration, dependency injection (inversion of control) framework for ColdFusion / CFML.

DI/1 is a simple convention-based dependency injection (inversion of control) framework. DI/1 is part of the FW/1 family of components. All development work occurs in that repo. This repo is provided purely as a convenience for users who want just DI/1 as a standalone component.

Usage

Initialize it with a comma-separated list of folders to scan for CFCs:

var beanfactor = new ioc("/model,/shared/services");

CFCs found in a folder called beans are assumed to be transient. All other CFCs are assumed to be singletons. This can be overridden via optional configuration.

DI/1 supports constructor injection, setter injection and property-based injection. All injection is done by name. If a bean name is unique, it can be used as-is, else the bean will have an alias which is the bean name followed by its immediate parent folder name, e.g.,

/model/beans/user.cfc will be "user" and "userBean"
/model/services/product.cfc will be "product" and "productService"

Folder names may be singular or plural. DI/1 assumes that if a folder name ends in "s" it can remove that to get the singular name.

See the DI/1 documentation for more details.