• 0354.502.773
  • cskh@laptrinhjavaweb.com

Khái niệm spring framework là gì ? Tổng quan về spring mvc, spring boot, web service, spring security, jpa, spring data jpa trong spring framework

Thực ra nếu mình đưa ra khái niệm theo tiếng anh thì đảm bảo 98% anh em sẽ không hiểu gì cả, vì những khái niệm đó rất hàn lâm

Do đó mình sẽ giải thích theo ngữ nghĩa dễ hiểu nhất để anh em hình dung spring framework là gì

Trước khi đi vào giải thích anh em cần biết java web là gì đã: XEM TẠI ĐÂY

Nội dung chính

1. Framework là gì

2. Nguồn gốc spring framework ra đời

3. Phát triển web với Spring Framework

4. Web service trong Spring Framework

5. Security trong Spring Framework

6. Truy vấn dữ liệu trong Spring Framework

Học spring mvc cơ bản miễn phí

- Chi tiết: https://laptrinhjavaweb.com/springmvc

Học spring boot cơ bản miễn phí

- Chi tiết: https://laptrinhjavaweb.com/springboot

Framework là gì

Lấy ví dụ việc nấu ăn tại nhà và việc nấu ăn ở ngoài quán hen

Khi nấu ăn ở nhà, muốn ăn gì thì phải tự làm, phải làm tất cả từ mua nguyên liệu, tìm cách thức chế biến, bắt tay vô chế biến, soạn ra bàn ăn ...

Còn ăn ở quán thì chỉ cần ra quán và gọi món rồi thưởng thức mà thôi ok!

Vậy framework nó giống như khi mình đi ăn ngoài quán vậy, các kĩ thuật, cấu trúc, cấu hình ... đã có đơn vị khác họ làm, chúng ta chỉ học cách sử dụng và sử dụng sao cho hiệu quả, góp ý nếu chỗ nào cần cải thiện giúp cho phần mềm tốt hơn 

Vậy Spring framwork là 1 framework giúp lập trình viên java phát triển java backend, java web 1 cách dễ dàng, nhanh chóng, hỗ trợ lập trình viên java có các thư viện, công cụ để lập trình với java, java web mà không phải mất thời gian xây dựng từ đầu

Nguồn gốc spring framework ra đời

Hình 1: nguồn gốc spring framework

Trước đây để lập trình web với java vào nhưng năm 2000, chúng ta hay sử dụng các công nghệ của JEE (tức j2ee hoặc jakarta ee hiện nay) đó là jboss, JSF, EJB, servlet, jsp, jdbc ...

Tuy nhiên những thứ này khi xài nó có 1 số hạn chế và càng về sau này chúng rất ít được cập nhật phiên bản do đó có nhiều hạn chế, có thể do thiếu nguồn lực nên nó không còn được quan tâm nhiều, vì vậy nó không còn được update liên tục

Tuy nhiên hiện này thì khác, jakarta ee bắt đầu được đầu tư mạnh và có thể sẽ là đối thủ đáng gớm trong thời gian tới

Vì vậy, năm 2004 một nhóm lập trình viên bao gồm:  Rod Johnson, Juergen Hoeller, Keith Donald and Colin Sampaleanu đã cũng nhau tạo ra 1 nền tảng ok hơn, khắc phục được 1 số nhược điểm của JEE thời điểm đó, và nó chính là "Spring framework"

Phát triển web với spring framework

Phát triển website trong spring framework

Để thiết kế website trong spring framework, hiện nay chúng ta tạm chia làm 2 giai đoạn như sau

Dĩ nhiên công nghệ chính ở đây vẫn là Spring MVC, tuy nhiên mỗi giai đoạn nó có cách xây dựng khác nhau

1. Giai đoạn trước 2014

Giai đoạn này chưa ra đời Spring Boot, do đó việc xây dựng Spring MVC khá thủ công và hơi cực 1 chút, tạm gọi là giai đoạn phát triển Spring MVC không sử dụng Spring boot

2. Giai đoạn từ 2014

Từ giai đoạn này bắt đầu ra đời Spring Boot, do đó việc xây dựng Spring MVC trở nên dễ dàng hơn và bớt cực, tạm gọi là giai đoạn phát triển Spring MVC sử dụng Spring boot

Để hiểu rõ hơn có sử dụng và không sử dụng nó khác nhau như thế nào, mọi người xem chi tiết các series sau

Thiết kế web với spring mvc không sử dụng spring boot: XEM TẠI ĐÂY

Thiết kế web với spring mvc sử dụng spring boot: XEM TẠI ĐÂY

Web service trong Spring framework

Trong số các bạn mình tin là 98% ai cũng biết tới nền tảng thương mại điện tử tiki. Hiện tiki có 2 nền tảng là app và web, khi các bạn dùng web order hàng hóa thì ngay lập tức app sẽ đồng bộ theo dữ liệu mà bạn mới thao tác trên web

Vậy để làm được điều đó tiki đã sử dụng cơ chế web service, dùng chung 1 database và các hàm sử dụng cho web và app cũng sẽ chung với nhau. Có nghĩa là ví dụ bạn chỉ cần viết hàm order thì hàm đó sẽ dùng chung luôn cho web và app

Để xây dựng web service trong java, chúng ta cũng có rất nhiều cách tuy nhiên nó khá là khó và cũng hơi phức tạp. Vì vậy nhà cung cấp Spring framework đã phát triển ra cho chúng ta 1 công nghệ cực kì hữu ích đó chính là Spring boot

Khi spring boot ra đời, việc xây dựng API web service không còn là cái gì đó quá to tát và nó cũng giúp cho chúng ta tiết kiệm được thời gian rất nhiều

laptrinhjavaweb đã có 1 series thiết kế web service sử dụng spring boot, mọi người xem tại link sau: https://laptrinhjavaweb.com/spring-boot-01

Security trong Spring Framework

Khi làm web hay web service, chúng ta sẽ có các chức năng như đăng nhập, phân quyền sử dụng chức năng theo từng vai trò ...

Ví dụ: lấy luôn website laptrinhjavaweb.com

Khi viết bài sẽ có 2,3 người cùng viết. Trong 2,3 người đó sẽ có 1 người là admin còn lại là người viết bình thường

Quyền sẽ được phân chia như sau

1. Nếu là admin thì có quyền publish bài viết ngay khi viết bài

2. Nếu là người viết bình thường, thì chỉ có quyền lưu nháp bài viết mà thôi, sau đó admin vô kiểm duyệt, nếu ok thì mới được publish

Ví dụ ở trên chính là ví dụ về phần phân quyền của hệ thống

Trong Spring Framework khi làm việc với web hay web service chúng ta sẽ áp dụng các kĩ thuật khác nhau

1. Spring security trong lập trình web với Spring MVC theo link sau: XEM TẠI ĐÂY

2. Khi làm việc với web service thì sử dụng kết hợp Json web token và Spring security, hiện laptrinhjavaweb chưa có nội dung liên quan, laptrinhjavaweb gửi tạm nội dung này cho mọi người tham khảo: CHI TIẾT

Truy vấn dữ liệu với spring framework

Hình 3: spring data jpa trong spring boot

Ngày xưa, từ version spring 3 trở xuống, muốn truy vấn dữ liệu chúng ta phải tích hợp thêm JPA, hibernate vào

laptrinhjavaweb hiện đã có series về JPA sử dụng Spring 3, mọi người xem chi tiết: TẠI ĐÂY

Tuy nhiên hiện nay từ spring version 4 trở lên, chúng ta không cần phải tích hợp nữa mà nó có sẵn 1 công nghệ gọi là spring data jpa

Cực kì mạnh và nói thật đã xài rồi là không muốn buông nữa

Để hiểu rõ hơn về spring data jpa thì các bạn có thể tham khảo: TẠI ĐÂY

Sơ sơ vậy đã hen, có nội dung mới sẽ update tiếp

laptrinhjavaweb có 2 khóa về spring framework cơ bản miễn phí, các bạn tham khảo qua 2 link bên dưới

Học spring mvc cơ bản miễn phí

- Chi tiết: https://laptrinhjavaweb.com/springmvc

Học spring boot cơ bản miễn phí

- Chi tiết: https://laptrinhjavaweb.com/springboot

Follow nhóm zalo, fanpage, facebook cá nhân, group facebook, kênh youtube để nhận các nội dung về lập trình java core, java web hay ho

- Fanpage: XEM TẠI ĐÂY

- Facebook cá nhân: XEM TẠI ĐÂY

- Nhóm Zalo: https://zalo.me/g/hjeert065

- Nhóm học lập trình java core: XEM TẠI ĐÂY

- Nhóm học lập trình java web: XEM TẠI ĐÂY

- Kênh youtube của laptrinhjavaweb: XEM TẠI ĐÂY

phone zalo