Skip to end of metadata
Go to start of metadata

Overview

The scope of the NanoContainer project is to complement the PicoContainer project, providing it with additional functionality. The project comprises of several components which can either be adaptions in various guises of PicoContainer (eg composition by-class-name rather than by-class), or adaptations to external components bringing them closer to the Dependency Injection ideal - particularly Constructor Injection

The first and primary implementation language of NanoContainer is Java. NanoContainer has also a port for .NET.

NanoContainer

NanoContainer is a Dependency Injection container that manages trees of PicoContainers.

Container

Container adds the following features to PicoContainer:

  • Classloader (classpath) management, including very programmable permissions.
  • Class name based composition (via reflection)
  • Multiple meta-data and script language support: XML, Groovy, Beanshell, Jython, Rhino (Javascript)

Multiple meta-data languages are supported because we officially stand against a single meta-data language. Of the script languages, XML is the most widely used and mature, but Groovy is most promising because of the its optional builder syntax.

If you're tired of writing as much XML as you write Java, give the GroovyMarkup based composition script a go.

Booter

Booter is a mechanism for launching a tree of NanoContainer components and containers.

Deployer

Deployer leverages on Commons VFS to deploy NanoContainer components and containers from archives and folders.

NanoContainer Components

NanoWar

NanoWar is a component that delivers NanoContainer to servlet container web-apps. It has works in conjunction with WebWork, WebWork2, Struts, Axis. It also has an homegrown simple web framework called NanoWeb.

Persistence

NanoContainer adapters to persistence libraries, such as Hibernate.

Remoting

A remoting framework in the NanoContainer style.

IoC

NanoContainer adapters other IoC frameworks, such as Avalon.

Tools

Some tools that are useful at build time rather than runtime.

Sandbox

Sandbox contains components that are still developing and not ready for release.

News

Dec 12, 2007

NanoContainer 1.1.2 and Nanowar 1.1.1 have been released. Downloads are available from Downloads.

  • No labels
Page: Booter Page: Deployer Page: IoC Page: NanoWar Page: Sandbox Page: Tools