Jak rozpocząć naukę J2EE, zwłaszcza JPA [zamknięte]

11

Próbuję zacząć uczyć się tej J2EEczęści Java. Ale nie wiem od czego zacząć. Jestem z, Core Javai przede wszystkim, chcę się uczyć JPAi podstawy Hibernatei Spring Framework. Głównym tego powodem jest to, że pracuję nad projektem, który wykorzystuje wszystkie te rzeczy. Większość kodu jest opracowywana przez niektórych starszych ludzi i muszę wprowadzić pewne modyfikacje. Więc w zasadzie muszę zrozumieć ich kod.

Czy ktoś może mi dać mapę drogową, na przykład, które rzeczy muszę wiedzieć wcześniej i w jakiej kolejności powinienem iść? Wszelkie materiały referencyjne, takie jak linki, książki?

Bhuszan
źródło
1
Czy ci seniorzy mają czas na zapoznanie się z tym, co zrobili do tej pory?
@ Thorbjørn Ravn Andersen: Jeśli zadam trochę wątpliwości, wyjaśni mi to. Ale chodzi o to, że kod jest umiarkowanie duży (~ 10000 linii). Więc jeśli muszę coś zrobić, muszę przejrzeć wiele plików źródłowych i wiele wierszy kodu, które, jak sądzę, nie mogą ich poprosić o pełne wyjaśnienie. Zasadniczo nie znam JPA i Spring Framework, a ogólnie J2EE. Szukałem więc rzeczy, które pomogą mi zrozumieć, jak to wszystko działa i jakie są podstawy, aby przynajmniej nie zadawać głupich wątpliwości.
Bhushan

Odpowiedzi:

7

Ilekroć chcę nauczyć się nowego frameworka / języka, zwykle robię mały projekt, który z niego korzysta. W przypadku frameworka sieciowego mam wspólną aplikację internetową, którą piszę za jej pomocą. Jest prosty i nie robi wiele, ale ma wystarczającą liczbę funkcji, których potrzebuję, aby skorzystać z bardziej powszechnych części frameworka (baza danych, zadania w tle, mvc lub cokolwiek podobnego). W rzeczywistości nie tak dawno temu podjąłem się nauki Spring / MVC + Hibernacja. Oczywiście nie wiem wszystkiego, ale dostarczyło mi wystarczającej wiedzy, że gdy czegoś nie wiem, wiem, jakie pytania zadać i jak poprosić o dodatkowe informacje.

W przypadku frameworków internetowych zwykle zaczynam od prostego przykładu „witaj świecie” dla większości frameworków. Jeśli ma przykład „księgi gości” (tzn. Pokazuje użycie bazy danych), kontynuuję to. Od tego momentu zaczynam dodawać funkcje, które chcę w mojej aplikacji edukacyjnej, zaczynając od najprostszych. Chodzi o to, że mogę dowiedzieć się, jak zadawać właściwe pytania dotyczące prostych rzeczy. Po zrobieniu kilku prostych rzeczy mogę teraz spojrzeć na bardziej złożone rzeczy i mając informacje, których się nauczyłem, mam nadzieję, że sformułuję właściwe pytania, aby je zadać.

Niedawno zacząłem umieszczać kod dla takich projektów edukacyjnych w sourceforge , jeśli jesteś zainteresowany.

Edycja: komentarz Donala sprawił, że chcieliśmy dodać ... Nie podałem linku jako przykładu, z którego można się uczyć. Raczej, jako przykład mojego opublikowania mojego kodu. Jeśli chcesz naprawdę się uczyć, musisz sam napisać kod, a nie tylko czytać cudzy (przynajmniej moim zdaniem)

RHSeeger
źródło
+1: Robię tak samo, z tym że ja nigdy praktycznie udostępnić wyniki na podstawie tego, że muszę nauczyć się przez robi , a nie tylko kopiowanie , i zakładam, że inni ludzie są tacy sami. (OTOH, czasami jeden z moich eksperymentów ucieka w dzicz i ewoluuje w prawdziwy produkt.)
Donal Fellows
Szczerze mówiąc, zacząłem udostępniać z trzech powodów: 1) Aby mój kod mieszkał gdzieś poza lokalnym repozytorium svn, które posiadam, 2) Aby ludzie, którzy pytają o przykłady mojego kodu w określonej technologii, mogli połączyć go z nim (wcześniej nie miałem takiego kodu, aby je pokazać), 3) Kiedy ludzie zadają mi pytania, jak coś zrobić, a ja to zrobiłem, mogę im pokazać łatwiej
RHSeeger
+1. To naprawdę fajny pomysł. Ale to nie w pełni odpowiada na moje pytanie. Nawet jeśli to robię, muszę gdzieś zacząć, ale nie wiem gdzie. Losowe skanowanie dowolnego tematu mi nie pomaga.
Bhushan
1
Dodano krótki opis tego, w jaki sposób idę na temat uczenia się na platformach internetowych; ścieżka, którą obieram. Niestety, to najlepsze, co mogę teraz dać. Mamy nadzieję, że jeśli to nie wystarczy, ktoś inny może udzielić odpowiedzi lepiej dostosowanej do Twojej sytuacji.
RHSeeger
2

Niedawno byłem w bardzo podobnej sytuacji. Oto z grubsza to, co z perspektywy czasu, znalazłem najbardziej przydatne podejście, aby szybko nauczyć się podstaw nowej technologii:

Ogólne podejście:

  1. Dowiedz się, jaki problem rozwiązuje. Przeczytaj różne zasoby, takie jak strona główna projektu, artykuł w Wikipedii.
  2. Znajdź mały projekt, który zawiera wspomniany problem . Np. W twoim przypadku mała aplikacja internetowa zarządzająca twoją kolekcją DVD z możliwością pożyczenia ich znajomym.
  3. Zacznij zastanawiać się, jakich mechanizmów można oczekiwać od technologii . Np. W przypadku rozwiązania ORM: mechanizm określający, czy relacja jest 1:nlub n:n.
  4. Wyszukaj te mechanizmy w swojej technologii : np. W JPA, znajdź @OneToManyadnotację. Często w tym miejscu pracujesz sam, korzystając z Przewodnika dla początkujących lub kodu starszego programisty.
  5. Zaimplementuj swój mini-projekt za pomocą tych mechanizmów . W ten sposób odkryjesz ograniczenia i prawdopodobnie kilka innych funkcji. Np. W JPA, N + 1 wybiera problem lub funkcję pozwalającą na automatyczne upuszczanie i (ponowne) tworzenie tabel dla twoich klas Java.
  6. (Jeśli możesz sobie pozwolić na czas): Spróbuj zrozumieć, jak zaimplementujesz mechanizmy . Może to pomóc zrozumieć, dlaczego istnieją pewne ograniczenia i jak je obejść.

Jedna uwaga na temat Pierwsze kroki Podręczniki: nie czytaj ich przed kroku 4. Jeżeli nadal robić, to będzie cię ugryźć, jeśli uczysz się bardzo silne ramy jak wiosna ze wszystkimi jego funkcjami fantazyjnych. Jak zawsze w życiu, im mocniejsze jest twoje narzędzie, tym łatwiej możesz spieprzyć, jeśli naprawdę go nie rozumiesz.

blubb
źródło
-1

Polecam Head First Servlets i JSP . To świetny zasób do nauki o Enterprise Java.

Ta książka została napisana dla programistów zainteresowanych zdaniem egzaminu Sun Certified Web Component Developer (SCWCD). Firma Sun została przejęta przez Oracle i ten egzamin został zastąpiony. Więcej informacji można znaleźć tutaj .

Britt Wescott
źródło
Czy strony JSP nie są już przestarzałe? Są dość bezużyteczne w przypadku aplikacji „Web 2.0”, które często korzystają z AJAX.
kevin cline
-1

Dokumentacja Hibernacji online jest całkiem dobra. Możesz zacząć od tego.

Kevin Cline
źródło