Blog java web Tâm sự lập trình Khóa học java web Áo thun java web Hỗ trợ đồ án java và javascript Thiết kế website Hướng dẫn học java web Liên hệ

Lộ trình học java web bắt đầu từ đâu cho người mới phần 2 hướng dẫn học spring mvc restful web service hibernate jpa

Khóa học spring mvc cơ bản miễn phí: LINK KHÓA HỌC

Rồi trong phần 1 (ai chưa xem phần 1 thì XEM TẠI ĐÂY), mình đã hướng dẫn cách học JSP Servlet JDBC như thế nào cho hợp lý để khi qua công nghệ, chúng ta chỉ cần búng tay là có thể học 1 cách nhanh chóng và hiểu

Hiện nay nhìn thị trường tuyển dụng có khá nhiều công nghệ Java Web được dùng, free cũng có mà trả phí cũng có.

Free là những công nghệ import thư viện vào download hết về là có thể sử dụng được ngay mà không cần bỏ ra chi phí nào cả. Còn có phí là những công nghệ phải trả phí cho license của công nghệ đó

Từ khi đi làm mình có trải qua 2 cái này rồi:

Về công nghệ free thì hiện tại mình đang làm là: Spring MVC, Spring Boot do đó trong phần chia sẽ của bài viết này mình sẽ tập trung vào Spring MVC và Spring Boot là 2 cái hiện tại mình đang chuyên

Còn về có phí thì trước đây mình có làm qua 1 CMS của hãng ADOBE có tên là AEM. Nói đến từ CMS các bạn có thể liên tưởng tới Wordpress của PHP, các CMS này được xây dựng nhằm đáp ứng sự thuận tiện cho user, nhà sản xuất sẽ build sẵn cho chúng ta 1 số giao diện bao gồm luôn cả chức năng (lưu ý: các chức năng này khá là chung, muốn mở rộng hay muốn có các chức năng phục vụ nhu cầu phức tạp thì chúng ta cũng phải tự custom lại)

Thực sự lương khi làm CMS nếu bạn có kinh nghiệm thì họ sẽ trả khá cao, vì cái này khá ít công ty và ít người làm, do đó nếu bạn biết và am hiểu thì bạn là hàng hiếm, mà đã hiếm thì lương sẽ cao.

Tuy nhiên như mình đã nói thì các CMS trong java như AEM, Magnolia cộng đồng nó không nhiều như các công nghệ free do đó document khá là ít, vì vậy khi học và làm khá là khó khăn, do đó theo mình thì nếu công ty bắt học để làm dự án thì học còn không nên chọn các công nghệ free mà hoc vì đa phần các công ty dùng nhiều cũng như cộng đồng support khá lớn.

Nói sơ qua cho các bạn hiểu công nghệ có phí và free là như thế nào thôi, giờ vô phần phân tích học Spring MVC, Spring Boot như thế nào cho hiệu quả nè

Trong phần 2 này, mình sẽ tập trung vào Spring MVC nhé.

Nói đến Spring MVC, nó thuộc hệ sinh thái của Spring Framework. Thì nói thẳng luôn là mình sẽ chỉ cho bạn những cái gì Spring nó cung cấp và cách sử dụng những thứ đó chứ đã là framework thì chỉ có xài cái của người ta build thôi

Khi các bạn mới học, mình khuyên đừng nên đọc lý thuyết về mấy phần như Spring IOC, Spring AOP … vì thứ nhất nó hàn lâm, thứ 2 các bạn chưa đủ trình để hiểu đâu, may ra khi các bạn đi làm 1,2 năm rồi quay lại đọc thì có thể hiểu được phần nào do đó hãy tập trung xem qua những cái sau:

Về phần giao diện, các bạn vẫn sử dụng JSP (template engine) khá phổ biến khi học Spring MVC và Bootstrap nhé, thực ra cái này bạn nào học qua JSP Servlet rồi thì coi như done

Để phân chia giao diện mình khuyên các bạn nên dùng sitemesh decorator, đừng dùng Spring Tiles vì nó khá dở, do mình xài cả 2 rồi nên mình khuyên các bạn vậy, còn không tin thì cứ thử đi, mất thời gian thì lại bảo sao không nói trước :v

Logic bên giao diện vẫn dùng jquery nhé, 1 câu nói luôn luôn nhắc đi nhắc lại là chúng ta chuyên backend do đó front-end kiếm cái gì đó dễ làm mà chơi

Xong phần UI, giờ tới phần security, Spring MVC nó hỗ trợ cho chúng ta 1 công cụ cực kì mạnh để build security đó là spring security. Thay vì trong JSP Servlet chúng ta phải tự build sử dụng Servlet filter thì nay qua Spring MVC đã có Spring Security cứu vớt, nó rất mạnh và dùng rất phê

Sau khi build giao diện và phần Security rồi thì tìm hiểu cách build MVC trong Spring MVC như thế nào, cách xây dựng mô hình 3 layer trong Spring MVC ra làm sao, tìm hiểu các annotation được cung cấp trong Spring như: @Controller, @ModelAttribute, @Configuration …

Chú ý khi học cách build MVC thì nhớ học flow Spring MVC nó chạy nhé, cái này các công ty hỏi khá nhiều như là request khi được gọi thì vào đâu, dispatcher servlet là gì, view resolver là gì …

Tìm hiểu thêm về: ModelAndView trong MVC của Spring MVC

Các annotation hỗ trợ cơ chế IOC và DI trong Spring như: @Autowired, @Component, @Service, @Repository

Học cách viết Restful Web Service trong Spring MVC, tìm hiểu các annotation kèm theo trong khi học cách viết Restful Web Service: @RestController, @PostMapping, @PutMapping, @GetMapping, @DeleteMapping, @RequestBody, @ResponseBody

Tìm hiểu cách call API từ JSP và Spring MVC sử dụng AJAX. Sau khi biết cách gọi API rồi thì tìm hiểu cách phần quyền API sử dụng JWT(json web token) nó hoạt động như thế nào. API nó cũng cần phần quyền nhé chứ không phải là thích gọi API nào thì gọi đâu

Sau đó tìm cách kết nối CSDL sử dụng JPA, Hibernate. Tuy nhiên trước khi qua JPA, Hibernate bạn nên áp dụng JDBC trong Spring MVC trước để khi tiếp cận JPA, Hibernate sẽ dễ dàng hơn.

Khi sử dụng JPA, Hibernate thì tìm hiểu xem cách hoạt động của nó, flow chạy, cách nó thêm, sửa, xóa, hiển thị data như thế nào

Tìm hiểu cách build các hàm chung sử dụn JPA, Hibernate để giúp cho việc thao tác thuận tiện hơn, ít phải gọi đi gọi lại hay lặp đi lặp lại những cái giống nhau

Khi tìm hiểu JPA, Hibernate thì chú ý cách tạo entity, cách truy vấn dữ liệu sử dụng SQL native, Hibernate Query Language, học cách phân biệt 2 kiểu truy vấn này

Về phần Database, nhớ học kĩ SQL (học kĩ ở đây các kiến thức cơ bản như join, select, delete, update … trong sql) để có thể viết SQL native 1 cách dễ dàng

Trong phần JPA, Hibernate nâng cao hơn thì tìm hiểu qua về cách chúng gọi FUNCTION, STORE PRODUCE như thế nào, học cách viết logic trong FUNCTION, STORE PRODUCE

Sau khi làm xong JPA, Hibernate thì các bạn chuyển qua 1 công nghệ mà mới ra đời từ spring 4 đó là spring data jpa, mình nói thật sự là cái này nó rất mạnh, và ai có kinh nghiệm nhiều về JPA, Hibernate rồi thì khi qua spring data jpa các bạn cảm thấy rất là sướng cũng như phê

Làm việc với các hệ quản trị có quan hệ rồi thì các bạn chuyển qua kết nối với các hệ quản trị không quan hệ như mongodb … để hiểu biết nhiểu hơn và xem dùng cái nào thì thích hợp với từng loại dự án gì

Sau khi làm JSP xong rồi thì bê nguyên logic đó qua 1 engine template cũng khá mới trong Spring đó là Thymeleaf, và so sánh xem cái nào thuận tiện hơn

Vậy thôi hén, Spring MVC mình cũng làm nhiêu đó, à không dĩ nhiên là còn nhiểu nữa nhưng trong quá trình làm phát sinh mới học thêm, còn những cái trên gần như là ai cũng phải học hết thì mới năm 1 cách tổng quát về Spring MVC

Hẹn gặp ở phần 3 nói về spring boot nhé, mãi yêuLỘ TRÌNH JAVA WEB PHẦN 3

Khóa học spring mvc cơ bản miễn phí: LINK KHÓA HỌC