Come iniziare a imparare J2EE, in particolare JPA [chiuso]


11

Sto cercando di iniziare a imparare la J2EEparte di Java. Ma non so da dove cominciare. Ho familiarità con Core Javae principalmente, voglio imparare JPAe le basi di Hibernatee Spring Framework. La ragione principale di ciò è che sto lavorando a un progetto che sta usando tutte queste cose. E la maggior parte del codice è stato sviluppato da alcuni ragazzi senior e devo apportare alcune modifiche. Quindi in pratica devo capire il loro codice.

Qualcuno può darmi una sorta di tabella di marcia, ad esempio quali cose devo sapere in anticipo e in quale sequenza devo andare? Qualche materiale di riferimento, come link, libri?


1
Questi anziani hanno il tempo di presentarti ciò che hanno fatto finora?

@ Thorbjørn Ravn Andersen: se chiedo qualche dubbio, me lo spiega. Ma il fatto è che il codice è moderatamente grande (~ 10000 righe). Quindi, se devo fare qualcosa, devo passare attraverso molti file sorgente e molte righe di codice, che immagino non possano chiedere loro di spiegarmi completamente. Fondamentalmente non ho familiarità con JPA e Spring Framework, e in generale J2EE. Quindi stavo cercando alcune cose che mi aiuteranno a capire come funziona tutto e le basi, in modo che almeno non ponga alcuni stupidi dubbi.
Bhushan,

Risposte:


7

Ogni volta che voglio imparare un nuovo framework / linguaggio, di solito creo un piccolo progetto che lo utilizza. Per un framework web, ho una webapp comune che scrivo usandola. È semplice e non fa molto, ma ha abbastanza funzioni che devo sfruttare le parti più comuni del framework (database, lavori in background, mvc o simili). In effetti, non molto tempo fa ho assunto il compito di apprendere Spring / MVC + Hibernate. Non lo so tutto, certo, ma mi ha dato abbastanza background che, quando non conosco qualcosa, so quali domande porre e come chiedere loro di ottenere maggiori informazioni.

Per i framework Web, di solito inizio con il semplice esempio di "ciao mondo" fornito per la maggior parte dei framework. Se ha un esempio di "libro degli ospiti" (ad esempio, per mostrare l'uso del database), seguo quello. Da lì, ho appena iniziato ad aggiungere la funzionalità che desidero nella mia applicazione di apprendimento, a cominciare dalla più semplice. L'idea è che posso capire come porre le domande giuste per le cose semplici. Dopo aver fatto alcune cose semplici, posso quindi guardare le cose più complesse e, con le informazioni che ho già imparato, posso sperare di formulare le domande giuste da porle.

Di recente ho iniziato a mettere il codice per tali progetti di apprendimento su sourceforge , se ti interessa.

Modifica: il commento di Donal ha fatto che vogliamo aggiungere ... Non ho inserito il link come esempio da cui imparare. Piuttosto, proprio come un esempio di me che sto pubblicando il mio codice. Se vuoi davvero imparare, devi scrivere tu stesso il codice, non solo leggere quello di qualcun altro (secondo me, almeno)


+1: Faccio più o meno la stessa cosa, tranne per il fatto che praticamente non condivido mai i risultati per il motivo che devo imparare facendo e non solo copiando , e presumo che le altre persone siano uguali. (OTOH, a volte uno dei miei esperimenti sfugge allo stato selvatico e si evolve in un vero prodotto.)
Donal Fellows

Onestamente, ho iniziato a condividere per tre motivi: 1) In modo che il mio codice vivesse da qualche parte oltre al repository svn locale che ho, 2) In modo che, quando le persone chiedono esempi del mio codice in una tecnologia specifica, posso collegarli ad esso (in precedenza non avevo questo codice per mostrarli), 3) Quando le persone mi fanno domande su come fare qualcosa e l'ho fatto, posso mostrarle più facilmente
RHSeeger

+1. È davvero una bella idea. Ma questo non risponde pienamente alla mia domanda. Anche per fare questo, devo iniziare da qualche parte, ma non so dove. Scansionare qualsiasi argomento in modo casuale non mi aiuta.
Bhushan,

1
Aggiunta una breve descrizione di come apprendo in particolare sui framework web; il percorso che prendo. Sfortunatamente, è il meglio che posso dare per ora. Eventualmente, se non bastasse, qualcun altro può fornire una risposta più adatta alla tua situazione.
RHSeeger,

2

Ero in una situazione molto simile non molto tempo fa. Ecco all'incirca cosa nella retrospettiva, ho trovato l'approccio più utile per apprendere rapidamente le basi di una nuova tecnologia:

Approccio generale:

  1. Scopri quale problema risolve. Leggi varie risorse come la homepage del progetto, l'articolo di Wikipedia.
  2. Trova un piccolo progetto che contenga questo problema . Ad esempio, nel tuo caso, una piccola webapp che gestisce la tua raccolta di DVD con la possibilità di prestarli agli amici.
  3. Inizia a pensare a quali meccanismi ti aspetteresti di essere fornito dalla tecnologia . Ad esempio, per una soluzione ORM, un meccanismo per specificare se una relazione è 1:no n:n.
  4. Cerca questi meccanismi nella tua tecnologia : ad esempio in JPA, trova l' @OneToManyannotazione. Spesso, è qui che lavori attraverso una Guida introduttiva o il codice dello sviluppatore senior.
  5. Implementa il tuo mini-progetto usando questi meccanismi . Mentre lo fai, scoprirai i limiti e probabilmente alcune altre funzionalità. Ad esempio in JPA, N + 1 seleziona un problema o una funzione che consente di eliminare e (ri) creare automaticamente le tabelle per le classi Java.
  6. (Se puoi permetterti il ​​tempo): prova a capire come implementeresti i meccanismi . Ciò può aiutarti a capire perché esistono alcune limitazioni e come aggirarle.

Una nota sulle guide introduttive: non leggerle prima del passaggio 4. Se lo fai ancora, questo ti morderà se stai imparando quadri molto potenti come Spring con tutte le sue fantasiose funzionalità. Come sempre nella vita, più potente è il tuo strumento, più facile puoi rovinare se non lo capisci davvero.


-1

Raccomando Head First Servlet e JSP . È un'ottima risorsa per conoscere Enterprise Java.

Questo libro è stato scritto per gli sviluppatori interessati a superare l'esame SCWCD (Sun Certified Web Component Developer). Da allora Sun è stata acquisita da Oracle e questo esame è stato sostituito. Ulteriori informazioni possono essere trovate qui .


I JSP non sono ancora obsoleti? Sono piuttosto inutili per le applicazioni "Web 2.0" che fanno un uso intenso di AJAX.
Kevin Cline,

-1

La documentazione online di Hibernate è abbastanza buona. Potresti iniziare da lì.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.