Domanda

Sto costruendo una nuova applicazione web che utilizza Linux, Apache, Tomcat, Wicket, JPA / Hibernate e MySQL. Il mio bisogno primario è Dependency Injection, che sia primavera e Guice possono fare bene. Penso di aver bisogno di supporto delle transazioni che sarebbe venuto con la Primavera e JTA, ma non sono sicuro.

Il sito avrà probabilmente circa 20 pagine e non mi aspettare traffico enorme.

Dovrei usare primavera o Guice?

Sentitevi liberi di chiedere e followup domande e io farò del mio meglio per aggiornare questo.

È stato utile?

Soluzione

Se ti piace la filosofia del "do-it-all-in-Java" che Wicket consegue, quindi si potrebbe preferire Guice oltre lo Spring. Non v'è alcuna configurazione XML in Guice - è tutto fatto con il Guice class Module .

Per esempio, la classe WebApplication Wicket potrebbe essere simile a questo:

public class SampleApplication extends WebApplication
{
    @Override
    protected void init()
    {
        addComponentInstantiationListener(
          new GuiceComponentInjector(this, new GuiceModule()));
    }
}

Il GuiceComponentInjector deriva dall'estensione wicket-Guice. Ecco il modulo:

public class GuiceModule extends AbstractModule
{
    @Override
    protected void configure()
    {
        // Business object bindings go here.
        bind(Greetings.class).to(GreetingRepository.class);
    }
}

In questo esempio, Greetings è un'interfaccia implementata da una classe GreetingRepository concreta. Quando Guice deve iniettare un oggetto Greetings, soddisferà la dipendenza con un GreetingRepository.

ho messo insieme un progetto di esempio che illustra come costruire un Wicket / applicazione Guice per Google App Engine. È possibile ignorare le specifiche App Engine e concentrarsi su come funziona l'integrazione Wicket-Guice.

Altri suggerimenti

Se si finisce per andare con Guice, sicuramente check out ordito Persistere Hibernate, Guice Servlet per Tomcat, e wicket-Guice per wicket.

Primavera probabilmente vi darà più flessibilità, ma se avete solo bisogno DI allora Guice può essere una scelta migliore.

E 'difficile rispondere come Primavera ha tante caratteristiche che renderebbero il DAO più flessibile, e funziona bene con Hibernate. Sarebbe utile se si ha più i requisiti per quello che stai cercando.

Ecco un paio di confronti tra la primavera e Guice e la primavera, Guice e Picocontainer.

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

http://www.christianschenk.org/ blog / confronto-tra-Guice-picocontainer-e-molla /

Non dimenticate CDI / JSR-299, parte di Java EE 6. È possibile utilizzare saldare wicket integrare wicket con CDI.

(fino a quando si sta utilizzando l'implementazione di saldatura (come GlassFish v3 e JBoss 6 fare), ma la saldatura wicket è piuttosto piccola quindi si potrebbe probabilmente adattarlo, se necessario).

Sono riuscito a ottenere Wicket 1.4 + saldare wicket + wicket-contrib-JavaEE + EJB 3.1 + 2.0 + APP wicket-sicurezza (SWARM) + molla di sicurezza 3 + Spring 3 in esecuzione insieme in una piccola prova di applicazione concept. Questo è un po troppi quadri, però, probabilmente cadere primavera-sicurezza e la primavera come appaiono ridondanti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top