Si te gusta la filosofía "hazlo todo en Java" que sigue Wicket, entonces tal vez prefieras Guice durante la primavera. No hay configuración XML en Guice, todo se hace usando la clase Guice Module
.
Por ejemplo, la clase de Wicket WebApplication
podría ser algo como esto:
public class SampleApplication extends WebApplication
{
@Override
protected void init()
{
addComponentInstantiationListener(
new GuiceComponentInjector(this, new GuiceModule()));
}
}
El GuiceComponentInjector
proviene de la extensión portillo-guice. Aquí está el Módulo:
public class GuiceModule extends AbstractModule
{
@Override
protected void configure()
{
// Business object bindings go here.
bind(Greetings.class).to(GreetingRepository.class);
}
}
En este ejemplo, Greetings
es una interfaz implementada por una clase concreta GreetingRepository
. Cuando Guice necesite inyectar un objeto Greetings
, satisfará la dependencia con un GreetingRepository
.
He creado un sample project que muestra cómo crear una aplicación Wicket/Guice para Google App Engine. Puede ignorar de forma segura los detalles de App Engine y centrarse en cómo funciona la integración de Wicket-Guice.
Puedes ir a toda java con Spring, también ... – tetsuo