La mia esperienza con guice è che un ottimo modo per impararlo è solo scegliere alcuni scenari diversi per qualcosa che la tua azienda ha già, pensa a un caso d'uso per ognuno di essi, e lavora per implementarli usando i principi di guizzo.
Quindi, quando sono andato a imparare, ho preso un server REST già esistente su cui avevo lavorato per la mia azienda. Ho deciso di non promuoverlo, dal momento che trovo che l'unico vero modo per apprendere un nuovo toolkit è usarlo su un progetto realistico, e avevamo già creato una suite di test per quel servizio, quindi saprei se ha causato una regressione. Ho fissato una serie di obiettivi per cui volevo portare il progetto con guizzi, i primi tre erano all'incirca:
- Usa guizzi per sostituire tutti i vari singleton, DAO, ecc. Essenzialmente oggetti che sono poster-bambini per l'iniezione di dipendenza e dove DI li rende più facili da testare. Ciò significava che dovevo capire come ottenere un guice integrato con junit molto presto, e ho anche fornito l'opportunità di astrarre alcuni moduli che avrei voluto iniettare durante il test e alcuni altri moduli che avrei voluto iniettare durante la produzione.
- Ottieni il maggior numero di applicazioni da mostrare utilizzando Grapher il più possibile. Ciò ha anche il vantaggio di ottenere la maggior parte di esso integrato tramite provider , moduli , ecc.
- Estrarre la registrazione che stavamo facendo nei metodi di entrata e uscita utilizzando AOP .
Quindi alla fine di questo ho avuto un grande grafico di come le nostre classi interagivano, tutti i test unitari stavano passando, e ho semplificato e migliorato le nostre strutture di registrazione per l'interfaccia REST.
Ho avuto sostanzialmente più di un giorno (e ho anche avuto una lista più lunga, incluso l'integrazione del pezzo di persistenza JPA), ma quelli sembrano aree ragionevoli per cominciare se hai un progetto adatto in giro (o puoi farne uno rapidamente, ad esempio, creando un rapido servizio REST per fare qualcosa che potrebbe essere utile o divertente).
Consiglio vivamente di iniziare con qualcosa che ha dei test o che puoi scrivere velocemente alcuni test di base, dal momento che ti consentiranno di modificare le cose o di sostituire completamente i componenti e assicurarti che tutto funzioni ancora.
Spero che ti aiuti.