Cách bắt đầu học J2EE, đặc biệt là JPA [đã đóng]


11

Tôi đang cố gắng để bắt đầu học J2EEmột phần của Java. Nhưng tôi không biết bắt đầu từ đâu. Tôi là gia đình với Core Javavà chủ yếu, tôi muốn tìm hiểu JPAvà những điều cơ bản của HibernateSpring Framework. Lý do chính cho việc này là tôi đang làm việc trong một dự án đang sử dụng tất cả những thứ này. Và hầu hết các mã đang được phát triển bởi một số người cao cấp và tôi phải thực hiện một số sửa đổi trong đó. Vì vậy, về cơ bản tôi cần phải hiểu mã của họ.

Ai đó có thể cho tôi một loại lộ trình, như những điều tôi cần biết trước và tôi nên đi theo trình tự nào? Bất kỳ tài liệu tham khảo, như liên kết, sách?


1
Những người cao niên này có thời gian để giới thiệu cho bạn những gì họ đã làm cho đến nay?

@ Thorbjørn Ravn Andersen: Nếu tôi nghi ngờ một chút, anh ấy giải thích cho tôi điều đó. Nhưng điều đáng nói là mã này có kích thước vừa phải (~ 10000 dòng). Vì vậy, nếu tôi phải làm bất cứ điều gì, tôi phải trải qua nhiều tệp nguồn và nhiều dòng mã, mà tôi đoán không thể yêu cầu họ giải thích hoàn toàn cho tôi. Về cơ bản tôi không quen thuộc với JPA và Spring Framework, và nói chung là J2EE. Vì vậy, tôi đã tìm kiếm một số thứ sẽ giúp tôi hiểu toàn bộ hoạt động và những điều cơ bản, để tôi ít nhất không hỏi một số nghi ngờ ngu ngốc.
Bhushan

Câu trả lời:


7

Bất cứ khi nào tôi muốn học một khuôn khổ / ngôn ngữ mới, tôi thường làm một dự án nhỏ sử dụng nó. Đối với một khung web, tôi có một ứng dụng web phổ biến mà tôi viết bằng cách sử dụng nó. Nó đơn giản và không làm được gì nhiều, nhưng nó có đủ các tính năng mà tôi cần để tận dụng các phần phổ biến hơn của khung (cơ sở dữ liệu, công việc nền, mvc hoặc bất cứ thứ gì tương tự như vậy). Trong thực tế, cách đây không lâu, tôi đã nhận nhiệm vụ học Spring / MVC + Hibernate. Tôi không biết tất cả, chắc chắn, nhưng nó đã cho tôi đủ nền tảng rằng, khi tôi không biết gì, tôi biết những câu hỏi cần hỏi và làm thế nào để hỏi họ để có thêm thông tin.

Đối với các khung web, tôi thường bắt đầu với ví dụ "xin chào thế giới" đơn giản được cung cấp cho hầu hết các khung. Nếu nó có một ví dụ "sổ lưu bút" (nghĩa là để hiển thị việc sử dụng cơ sở dữ liệu), tôi sẽ theo dõi điều đó. Từ đó, tôi chỉ bắt đầu thêm chức năng tôi muốn trong ứng dụng học tập của mình, bắt đầu bằng cách đơn giản nhất. Ý tưởng là tôi có thể tìm ra cách đặt câu hỏi đúng cho những điều đơn giản. Sau khi tôi thực hiện một số điều đơn giản, sau đó tôi có thể xem xét những điều phức tạp hơn và, với thông tin tôi đã học được, tôi hy vọng có thể hình thành các câu hỏi đúng để hỏi chúng.

Gần đây tôi đã bắt đầu đặt mã cho các dự án học tập như vậy trên sourceforge , nếu bạn quan tâm.

Chỉnh sửa: Nhận xét của Donal khiến chúng tôi muốn thêm ... Tôi đã không đặt liên kết làm ví dụ để bạn học hỏi. Thay vào đó, chỉ là một ví dụ về việc tôi đưa mã của mình ra khỏi đó. Nếu bạn muốn thực sự học, bạn cần phải tự viết mã, không chỉ đọc của người khác (ít nhất là theo ý kiến ​​của tôi)


+1: Tôi làm nhiều điều tương tự ngoại trừ việc tôi hầu như không bao giờ chia sẻ kết quả với lý do tôi cần học bằng cách thực hiện và không chỉ sao chép và tôi cho rằng những người khác cũng vậy. (OTOH, thỉnh thoảng một trong những thí nghiệm của tôi thoát ra ngoài tự nhiên và phát triển thành một sản phẩm thực sự.)
Donal Fellows

Thành thật mà nói, tôi bắt đầu chia sẻ vì ba lý do: 1) Vì vậy, mã của tôi sẽ sống ở đâu đó ngoài kho lưu trữ svn cục bộ mà tôi có, 2) Vì vậy, khi mọi người hỏi ví dụ về mã của tôi trong một công nghệ cụ thể, tôi có thể liên kết chúng với nó (trước đây tôi không có mã như vậy để chỉ cho họ), 3) Khi mọi người đặt câu hỏi cho tôi về cách làm điều gì đó và tôi đã thực hiện nó, tôi có thể chỉ cho họ dễ dàng hơn
RHSeeger

+1. Đó là một ý tưởng thực sự tốt đẹp. Nhưng điều này không trả lời đầy đủ câu hỏi của tôi. Ngay cả để làm điều này, tôi phải bắt đầu ở đâu đó, nhưng tôi không biết ở đâu. Quét bất kỳ chủ đề ngẫu nhiên không giúp tôi.
Bhushan

1
Đã thêm một mô tả nhanh về cách tôi đi học về các khung web cụ thể; con đường tôi đi. Thật không may, đó là điều tốt nhất tôi có thể cho bây giờ. Hy vọng, nếu nó không đủ, người khác có thể đưa ra câu trả lời phù hợp hơn với tình huống của bạn.
RHSeeger

2

Tôi đã ở trong một tình huống rất giống cách đây không lâu. Đây là những gì trong quá trình hồi tưởng, tôi đã tìm thấy cách tiếp cận hữu ích nhất để nhanh chóng tìm hiểu những điều cơ bản của một công nghệ mới:

Cách tiếp cận chung:

  1. Tìm hiểu những vấn đề nó giải quyết. Đọc các tài nguyên khác nhau như trang chủ của dự án, bài viết trên wikipedia.
  2. Tìm một dự án nhỏ có chứa vấn đề nói . Ví dụ, trong trường hợp của bạn, một ứng dụng web nhỏ quản lý bộ sưu tập DVD của bạn với khả năng cho họ mượn bạn bè.
  3. Bắt đầu suy nghĩ về những cơ chế mà bạn mong đợi sẽ được cung cấp bởi công nghệ . Ví dụ, đối với giải pháp ORM, một cơ chế để xác định xem mối quan hệ là 1:nhay n:n.
  4. Tìm kiếm các cơ chế này trong công nghệ của bạn : Ví dụ: trong JPA, tìm @OneToManychú thích. Thông thường, đây là nơi bạn tự làm việc thông qua Hướng dẫn bắt đầu hoặc mã của nhà phát triển cấp cao.
  5. Thực hiện dự án nhỏ của bạn bằng cách sử dụng các cơ chế này . Trong khi làm như vậy, bạn sẽ khám phá những hạn chế và có thể một vài tính năng khác. Ví dụ, trong JPA, N + 1 chọn vấn đề hoặc một tính năng cho phép bạn tự động thả & (tái) tạo các bảng cho các lớp Java của bạn.
  6. (Nếu bạn có thể dành thời gian): Cố gắng hiểu cách bạn sẽ thực hiện các cơ chế . Làm như vậy có thể giúp bạn hiểu tại sao một số hạn chế nhất định tồn tại và cách bạn có thể làm việc xung quanh chúng.

Một lưu ý về Hướng dẫn bắt đầu: Đừng đọc chúng trước bước 4. Nếu bạn vẫn làm, điều này sẽ cắn bạn nếu bạn đang học các khung rất mạnh như Spring với tất cả các tính năng ưa thích của nó. Như mọi khi trong cuộc sống, công cụ của bạn càng mạnh mẽ, bạn càng dễ dàng làm hỏng nếu bạn không thực sự hiểu nó.


-1

Tôi khuyên dùng Head First Servlets và JSP . Đó là một tài nguyên tuyệt vời để tìm hiểu về Java doanh nghiệp.

Cuốn sách này được viết cho các nhà phát triển quan tâm đến việc vượt qua kỳ thi Nhà phát triển thành phần web được chứng nhận của Sun (SCWCD). Sun đã được Oracle mua lại và kỳ thi này đã được thay thế. Thêm thông tin có thể được tìm thấy ở đây .


Bạn chưa bị lỗi thời? Chúng khá vô dụng đối với các ứng dụng "Web 2.0" sử dụng AJAX.
kevin cline

-1

Các tài liệu Hibernate trực tuyến là khá tốt. Bạn có thể bắt đầu từ đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.