After a lot of things delayed the alpha release of FW/1 2.0, I've now found time to work on DI/1 again and get it into a usable shape. The idea is that you point DI/1 at one or more folders and it searches those folders for CFCs and builds a bean factory to manage them, all by convention (so no XML required!). If a CFC is found in a beans folder, it's assumed to be a transient, otherwise it's assumed to be a singleton. If your beans all have unique names, you can use those names to reference the beans directly (either via autowiring or the getBean(name) API on the bean factory). All beans also get an alias which is the bean name followed by (the singular form of) the folder name. If you have the same CFC name in several folders, you'll need to use the alias to reference it.
Imagine this folder structure:
/model /beans customer.cfc invoice.cfc product.cfc /services cart.cfc sales.cfc product.cfc
Create an instance of DI/1:
var beanFactory = new ioc("/model");
The bean names will be: customer, invoice, productBean, cart, sales, productService (with aliases for customerBean, invoiceBean, cartService, salesService).
DI/1 supports dependency injection, by name, through constructor argument, explicit setter methods and property declarations (with implicit setters enabled).
The documentation and the examples are a bit sparse - and right now the example assumes you have FW/1 installed - but hopefully there's enough to get you started. The project has also been submitted to RIAForge now that DI/1 is in a downloadable state. DI/1 requires Adobe ColdFusion 9.0.1 or Railo 3.2.2 (or later). Feedback welcome!