Pregunta

Estoy construyendo una nueva aplicación web que utiliza Linux, Apache, Tomcat, Wicket, JPA / Hibernate, y MySQL. Mi necesidad primaria es la inyección de dependencias, que tanto la primavera y Guice pueden hacer bien. Creo que necesito soporte de transacciones que vendría con la primavera y JTA, pero no estoy seguro.

El sitio tendrá probablemente unas 20 páginas y no pienso esperar tráfico enorme.

¿Debo usar un muelle o Guice?

No dude en hacer preguntas y seguimiento y voy a hacer mi mejor esfuerzo para actualizar esto.

¿Fue útil?

Solución

Si te gusta la filosofía "do-it-all-in-Java" que Wicket sigue, entonces es posible que prefiera Guice durante la primavera. No hay ninguna configuración XML en Guice - todo se hace mediante el Guice clase Module .

Por ejemplo, la clase WebApplication peatonal incorporada 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 GreetingRepository hormigón. Cuando Guice necesita para inyectar un objeto Greetings, será satisfacer la dependencia con un GreetingRepository.

He reunido una proyecto de ejemplo que muestra cómo construir un portillo / guice aplicación de Google App Engine. Puede ignorar los detalles de App Engine y se centran en cómo funciona la integración Wicket-Guice.

Otros consejos

Si usted termina yendo con Guice, definitivamente echa un vistazo a Warp persistir durante Hibernate, Guice Servlet para Tomcat, y wicket-guice para Wicket.

Primavera probablemente le daría una mayor flexibilidad, pero si sólo necesita DI continuación Guice puede ser una mejor opción.

Es difícil de responder ya que la primavera tiene tantas características que harían que el DAO más flexible, y funciona bien con Hibernate. Sería de gran ayuda si tuviera más requisitos para lo que busca.

Aquí hay un par de comparaciones entre la primavera y Guice y primavera, Guice y PicoContainer.

http://code.google.com/p/google-guice / wiki / SpringComparison

http://www.christianschenk.org/ blog / comparación entre-guice-PicoContainer y resorte /

No se olvide CDI / JSR-299, parte de Java EE 6. Puede utilizar soldadura-wicket para integrar wicket con CDI.

(siempre y cuando se está utilizando la aplicación de soldadura (como GlassFish v3 y JBoss 6 hacerlo), pero la soldadura-portillo es bastante pequeño, por lo que probablemente podría adaptarlo si es necesario).

He conseguido Wicket 1.4 + soldadura + portillo portillo-contrib-JavaEE + EJB 3.1 + 2.0 + JPA portillo-seguridad (SWARM) + Spring Security 3 + 3 primavera corriendo juntos en una pequeña prueba de concepto de aplicación. Eso es un poco demasiados marcos, sin embargo, probablemente se reducirá resorte de seguridad y la primavera, tal como aparecen redundante.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top