Paul Hammant
2008-05-10 06:22:58 UTC
.... and and much improved web site reflects that release.
From the site, the news for 2.2:
New (since 2.1)
A new TieringPicoContainer that when used in a container tree, forbids
children from seeking dependencies from their grandparents (they can
only seek such from their parents)
A new ReusablePicoContainer that is 2.5x faster for some niche usages
where you are repeatedly discarding a container and then repopulating
it (Gems)
NamedFieldInjection allows named fields to be injected into (per
component) - use when AnnotatedFieldInjection is not what you want
TypedFieldInjection allows fields of a specified type to be injected
into (per component) - use when AnnotatedFieldInjection is not what
you want
CompositeInjection allows a very custom setup of what injection-types
you want your instance to support. Use when speed of execution is of
the essence and AdaptiveInjection is not right for you.
Decorating (behavior factory) - do something to a component instance
immediately after its instantiation (and formal injection)
FactoryAdapter - Allows for a custom instance to be injected into a
component. E.g. 'new Logger(Foo.class)' for a Logger type and a Foo
instance being the injectee
Changes (versus 2.1)
Teams embedding PicoContainer and (completely hiding it from user
communities) can extend StartableLifecycleStrategy and provide their
own Startable interface (was buggy)
- Paul
From the site, the news for 2.2:
New (since 2.1)
A new TieringPicoContainer that when used in a container tree, forbids
children from seeking dependencies from their grandparents (they can
only seek such from their parents)
A new ReusablePicoContainer that is 2.5x faster for some niche usages
where you are repeatedly discarding a container and then repopulating
it (Gems)
NamedFieldInjection allows named fields to be injected into (per
component) - use when AnnotatedFieldInjection is not what you want
TypedFieldInjection allows fields of a specified type to be injected
into (per component) - use when AnnotatedFieldInjection is not what
you want
CompositeInjection allows a very custom setup of what injection-types
you want your instance to support. Use when speed of execution is of
the essence and AdaptiveInjection is not right for you.
Decorating (behavior factory) - do something to a component instance
immediately after its instantiation (and formal injection)
FactoryAdapter - Allows for a custom instance to be injected into a
component. E.g. 'new Logger(Foo.class)' for a Logger type and a Foo
instance being the injectee
Changes (versus 2.1)
Teams embedding PicoContainer and (completely hiding it from user
communities) can extend StartableLifecycleStrategy and provide their
own Startable interface (was buggy)
- Paul