Як почати вивчати J2EE, особливо JPA [закрито]


11

Я намагаюся почати вивчати J2EEчастину Java. Але я не знаю, з чого почати. Я знайомий Core Javaі, головним чином, хочу навчитися JPAта основам Hibernateі Spring Framework. Основна причина цього - я працюю над проектом, який використовує всі ці речі. І більшу частину коду розробляють старші хлопці, і мені доведеться в цьому внести деякі зміни. Тому в основному мені потрібно зрозуміти їх код.

Чи може хтось дати мені якусь дорожню карту, як, наприклад, які речі я повинен знати заздалегідь і в якій послідовності я повинен піти? Будь-який довідковий матеріал, як посилання, книги?


1
Чи встигають ці літні люди познайомити вас з тим, що вони робили до цього часу?

@ Thorbjørn Ravn Andersen: Якщо я запитаю певні сумніви, він мені це пояснює. Але справа в тому, що код помірно великий (~ 10000 рядків). Тож якщо мені доведеться щось робити, мені доведеться пройти через багато вихідних файлів і безліч рядків коду, які, мабуть, не можуть попросити їх пояснити мене повністю. В основному я не знайомий з JPA та Spring Framework, і взагалі J2EE. Тож я шукав деякі речі, які допоможуть мені зрозуміти, як працює вся справа та основи, щоб я, принаймні, не запитував дурних сумнівів.
Bhushan

Відповіді:


7

Кожен раз, коли я хочу вивчити новий фреймворк / мову, я зазвичай підхоплюю невеликий проект, який його використовує. Для веб-рамки у мене є спільний веб-сайт, який я пишу, використовуючи його. Це просто і не робить багато, але в ньому є достатньо функцій, які мені потрібні, щоб скористатися більш поширеними частинами фреймворку (база даних, фонові завдання, mvc або подібне подібне). Справді, не так давно я взявся за завдання вивчити Spring / MVC + Hibernate. Я не знаю цього всього, звичайно, але це дало мені достатньо досвіду, що коли я чогось не знаю, я знаю, які питання задати і як їх задати, щоб отримати більше інформації.

Для веб-рамок я зазвичай починаю з простого прикладу "привіт світ", який надається для більшості фреймворків. Якщо в ній є приклад "гостьової книги" (тобто для показу використання бази даних), я продовжую це робити. З цього моменту я просто починаю додавати потрібну функціональність у своєму навчальному додатку, починаючи з найпростішого. Ідея полягала в тому, що я можу зрозуміти, як ставити правильні питання для простих речей. Після того, як я зробив кілька простих речей, я можу потім переглянути більш складні речі, і, маючи інформацію, яку я вже дізнався, я можу сподіватися сформулювати правильні питання, щоб їх задати.

Нещодавно я почав ставити код таких навчальних проектів на sourceforge , якщо вам це цікаво.

Редагувати: коментар Донала змусив нас додати ... Я не ставлю посилання як приклад, з якого ви можете вчитися. Швидше, лише як приклад того, що я викладаю свій код там. Якщо ви хочете по-справжньому вчитися, вам потрібно писати код самостійно, а не просто читати чужі (на мою думку, принаймні)


+1: Я багато чого роблю, за винятком того, що практично ніколи не ділюсь результатами з тієї причини, що мені потрібно вчитися, роблячи, а не просто копіюючи , і я вважаю, що інші люди такі самі. (OTOH, час від часу один з моїх експериментів втікає в дику природу і перетворюється на справжній продукт.)
Стипендіати Дональ

Чесно кажучи, я почав ділитися з трьох причин: 1) Щоб мій код жив десь окрім локального сховища svn, який я маю, 2) Так що, коли люди запитують приклади мого коду в певній технології, я можу пов’язати їх із цим (раніше у мене не було такого коду, щоб їх показати), 3) Коли люди задають мені питання, як щось зробити, і я це зробив, я можу показати їх простіше
RHSeeger

+1. Thats дійсно гарна ідея. Але це не відповідає повністю на моє запитання. Навіть для цього мені потрібно десь почати, але я не знаю, де. Сканування будь-якої теми випадковим чином не допомагає мені.
Bhushan

1
Додано короткий опис того, як конкретно я навчаюсь веб-рамкам; шлях, який я проходжу. На жаль, це найкраще, що я можу дати зараз. Сподіваємось, якщо цього недостатньо, хтось ще може надати відповідь, що краще відповідає вашій ситуації.
RHSeeger

2

Не так давно я опинився в дуже подібній ситуації. Ось приблизно те, що в ретроспективі я знайшов найкорисніший підхід для швидкого вивчення основ нової технології:

Загальний підхід:

  1. Дізнайтеся, яку проблему вона вирішує. Прочитайте різні ресурси, наприклад домашню сторінку проекту, статтю у Вікіпедії.
  2. Знайдіть невеликий проект, який містить вказану проблему . Наприклад, у вашому випадку невеликий веб-сайт, що керує вашою колекцією DVD з можливістю позичити їх друзям.
  3. Почніть замислюватися про те, які механізми ви очікували б, щоб їх надавала технологія . Наприклад, для рішення ORM, механізму для визначення, чи є відношення 1:nчи n:n.
  4. Шукайте ці механізми у своїй технології : Наприклад, у JPA, знайдіть @OneToManyпримітку. Часто саме тут ви працюєте самостійно за допомогою Посібника для початку роботи або коду старшого розробника.
  5. Реалізуйте свій міні-проект, використовуючи ці механізми . Роблячи це, ви відкриєте для себе обмеження та, мабуть, кілька інших функцій. Наприклад, у JPA, N + 1 вибирає проблему або функцію, що дозволяє автоматично відкидати & (повторно) створювати таблиці для ваших класів Java.
  6. (Якщо ви можете дозволити собі час): Спробуйте зрозуміти, як би ви реалізували механізми . Це може допомогти вам зрозуміти, чому існують певні обмеження та як можна обійти їх.

Одне зауваження про початок роботи посібників: Не читайте їх перед кроком 4. Якщо ви все-таки зробите це, це змусить вас зловмитися, якщо ви вивчаєте дуже потужні рамки, як Весна з усіма її фантазійними особливостями. Як завжди в житті, чим потужнішим є ваш інструмент, тим простіше ви можете викрутити його, якщо ви по-справжньому не розумієте цього.


-1

Я рекомендую керівника перших сервлетів та JSP . Це чудовий ресурс для вивчення Enterprise Enterprise Java.

Ця книга була написана для розробників, зацікавлених пройти іспит з сертифікованою програмою веб-компонентів (SCWCD). Sun з того часу придбав Oracle, і цей іспит було замінено. Більше інформації можна знайти тут .


Ще не застарілі JSP? Вони досить марні для додатків "Web 2.0", які активно використовують AJAX.
кевін клайн

-1

Документація в режимі глибокого сну в Інтернеті досить хороша. Ви можете почати там.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.