Categories: Inversion of Control
Latest version: 2.0 Beta 2Added 2004-12-19Updated 2008-01-02
Lightweight embeddable container for components that honor Inversion of Control (IoC).Features include:- Dependency Injection: A way of instantiating components and lacing them together with other dependent components.- Components don't have to implement any funny APIs. They can be based on any object.- Lifecycle support is built-in. Components' lifecycle can be managed by PicoContainer. (The default lifecycle is simple, but can be extended)
Categories: AOP, Frameworks, Inversion of Control, MVC, Web frameworks
Latest version: 3.0Added 2005-03-10Updated 2009-09-25
Java/J2EE application framework.Features include:- JavaBeans-based configuration (XML)- Inversion of Control (IoC) container- AOP framework- Declarative transaction management- O/R mapping integration with Hibernate and JDBC support- Web MVC framework- Full Java 6 and Java EE 5 support (JDBC 4.0, JTA 1.1, JavaMail 1.4, JAX-WS 2.0)Spring is modular, with a layered architecture, meaning that you can choose to use just about any part of it in isolation.Spring is designed from the ground up to help you write code that's easy to test.
Latest version: 2.0Added 2007-03-12Updated 2009-05-20
Lightweight dependency injection framework for Java 5 and above.Guice embraces annotations and generics to enable you to wire together and test objects.Features include:- type safe- external configuration when appropriate- reports error messages as if they will be read by human beings- injects constructors, fields and methods (any methods with any number of arguments, not just setters)- custom scopes- circular dependencies handling- static member injection- Spring integration- AOP Alliance method interception- provider methods- module overrides- private modules
Categories: Frameworks, Inversion of Control
Author: Apache Jakarta
Latest version: 1.1Added 2005-06-10
Services and configuration microkernel.Features include:- Services: HiveMind services are POJOs (Plain Old Java Objects) that can be accessed and combined. Each service ideally defines a Java interface it implements (but this is no longer mandatory). HiveMind takes care of instantiating and configuring each service just as necessary. HiveMind lets services collaborate with each other via dependency injection.- Configuration: HiveMind allows you to provide complex configuration data to your services in a format you define. HiveMind will integrate the contributions of such data from multiple modules and convert it all into data objects for you. HiveMind configurations allow for data-driven solutions which combine with the service architecture.- Microkernel: HiveMind is a framework for creating applications, not an application, or even an application server, itself. The 'core' of HiveMind is the startup logic that knows how to parse and understand the module deployment descriptors, and use that information to instantiate and initialize all those services and configurations. In HiveMind, a service is an implementation of a Java interface. Unlike other SOAs (Service Oriented Architectures, such as a SOAP, or EJBs), HiveMind is explicitly about combining Java code within a single JVM. HiveMind uses a descriptor to describe different services, their lifecycles, and how they are combined. HiveMind takes care of thread-safe, just-in-time creation of singleton service objects so your code doesn't have to.