Học Spring Boot khởi đầu từ đâu?

1. Giới thiệu Spring Boot

1.1. Spring Boot là gì?

Spring là 1 Java framework siêu lớn và khổng lồ, làm cho được đủ mọi thứ. Nó được chia thành nhiều module, từng module làm cho 1 chức năng, thí dụ Spring Core, Internet, Information entry, AOP,… Spring được xây dựng dựa trên 2 khái niệm ứng dụng là Dependency injection và AOP (Facet Oriented Programming).

😃

1 rắc rối lúc dùng Spring là việc cấu hình (config) dự án quá phức tạp. Bạn cần làm cho đủ thứ việc chỉ để tạo 1 net HelloWorld:

  • Tạo Maven hoặc Gradle mission
  • Thêm những thư viện cần thiết
  • Tạo XML để cấu hình mission, cấu hình những bean
  • Code và construct thành file WAR
  • Cấu hình Tomcat server để chạy được file WAR vừa construct

Đấy, Spring khá mạnh mẽ nhưng việc cấu hình nghe thôi cũng mệt rồi. Do ấy Spring boot ra đời, sở hữu những ưu điểm:

  • Auto config: tự động động cấu hình thay thế cho bạn, chỉ cần khởi đầu code và chạy là được
  • Xây dựng những bean dựa trên annotation thay thế vì XML
  • Server Tomcat được nhúng ngay trong file JAR construct ra, chỉ cần chạy trên bất kì đâu java chạy được

So sánh sở hữu Spring, thì Spring Boot bạn chỉ cần:

  • Dùng Spring Initializr, nhập những information của mission, chọn thư viện rồi down code về
  • Mở supply code ra và khởi đầu code
  • Chạy ngay trong IDE, hoặc construct thành file JAR để chạy được ngay, ko cần cấu hình server

1.2. Tại sao nên học Spring Boot?

Trước đây mình đã có tìm hiểu về sentayho.com.vn và chuyển sang Spring Boot. Cảm nhận của mình là lúc code Spring Boot chúng ta sẽ tập trung nhiều hơn vào enterprise logic, nghĩa là phần tiêu của code làm cho được gì.

Sở hữu sentayho.com.vn, do nó quá linh hoạt nên bạn sẽ cần tập trung nhiều vào code hơn, thay thế vì phần đích của code. Kiểu như bạn cần tìm “greatest apply”, “bí quyết phải chăng nhất” để code điều gì ấy.

Nhưng sở hữu Spring boot thì khác, có nhiều thư viện có sẵn và cấu trúc code cũng thành chuẩn mực rồi, nên bạn ko cần quá chú ý cần viết code thế nào cho phải chăng nữa, thay thế vào ấy sẽ tập trung vào logic hơn.

Học Spring Boot bắt đầu từ đâu?

Mình thấy nhiều bạn hỏi câu này: “Nên học Spring hay Spring Boot trước?”. Theo mình thì nên học Spring Boot trước.

Mình nghĩ tư tưởng của nhiều bạn vẫn mang trong mình nặng kiểu “dòng cũ phải chăng hơn dòng new”, “tìm hiểu từ gốc”,… nhưng thực sự lúc khởi đầu nên tìm hiểu dòng dễ dàng hơn. Vừa đỡ nản, vừa làm cho được siêu phẩm thực tế, trong lúc sở hữu Spring bạn vẫn còn đang cần cấu hình quá nhiều và chưa làm cho được gì ra hồn cả.

Xem Thêm  Madridista là gì? Fan Actual Madrid gọi là gì | Biệt danh đội bóng

2. Cần tìm hiểu những gì

2.1. Java Core

Trước lúc học Spring Boot thì khách hàng cần biết Java. 1 số tri thức cần thiết của Java như sau:

  • Java cơ bản: biến, hàm, vòng lặp,…
  • Hướng đối tượng (OOP)
  • Java 8: những tính năng new trong java 8 (tối thiểu cần biết)
  • Collections API: biết bí quyết dùng những assortment thông thường (quan yếu)

Bên cạnh ra khách hàng có thể tìm hiểu thêm (ko biết cũng ko sao vì Spring Boot khá ít đụng tới):

  • Stream API
  • Asynchronous
  • Multi threading
  • File IO

2.2. Package deal supervisor

Lúc code dự án Spring Boot thì cần có package deal supervisor để quản lý những thư viện cài thêm. Bạn nào code Javascript sẽ biết về NPM và Yarn, thì Java cũng có 2 package deal supervisor tương tự động là Maven và Gradle.

  • Tìm hiểu bí quyết dùng Maven cơ bản

  • Tìm hiểu bí quyết dùng Gradle cơ bản

Phần này lúc new khởi đầu ko nên tìm hiểu quá sâu, chỉ cần biết bí quyết cài đặt thư viện, xóa thư viện, chỉnh sửa thông tin mission, những build-in duties là được. Sau này lúc đụng tới nhiều thì bạn tự động khắc quen thôi.

2.3. Spring Boot

Phương pháp học Spring Boot đúng đắn là học thực hành, làm cho mission. Bởi vì nhiều thứ trong Spring Boot siêu dễ, hoặc thành chuẩn mực rồi, chủ yếu là bạn đã từng đụng tới chưa thôi.

  • Học Spring Boot khởi đầu từ đâu: Bài giới thiệu lộ trình học hôm nay.

  • Tạo dự án Spring Boot trước tiên: Dùng Spring Initializr để generate code, chọn những dependency, chạy, debug, construct JAR và chạy file JAR ấy.

  • Luồng đi trong Spring Boot: Tìm hiểu 1 service Spring Boot gồm những thành phần nào, và luồng đi của dữ liệu ra sao.

  • Dependency injection ứng dụng vào Spring Boot như thế nào (phần 1)

  • Dependency injection ứng dụng vào Spring Boot như thế nào (phần 2)

  • Bean và ApplicationContext là gì trong Spring Boot: Tìm hiểu cơ bản về Bean và ApplicationContext.

  • Vòng đời, những loại bean và cơ chế element scan: Tìm hiểu sâu hơn về bí quyết những bean được định nghĩa và xử lý.

  • Cấu trúc 1 dự án Spring Boot thế nào cho chuẩn: Tìm hiểu những thành phần cơ bản như Controller, Companies,… và bí quyết tổ chức chúng trong supply code.

  • Entity, DTO và Mannequin: Cha đối tượng chứa dữ liệu chính và bí quyết convert, mapping tương quan giữa chúng.

  • Spring Boot xử lý request trong controller như thế nào (phần 1): Phương pháp controller hoạt động, những loại HTTP technique và nhận dữ liệu từ request.

  • Spring Boot xử lý request trong controller như thế nào (phần 2)

  • Xử lý request trong Controller (phần 2): Trả về lỗi và xử lý chuyên dụng sở hữu những loại knowledge đặc biệt.

  • Xử lý exception phát sinh trong ứng dụng Spring Boot

  • Validation dữ liệu request – luôn luôn cần thiết

  • Tổ chức code service trong Spring Boot: bài ngắn gọn nói sơ qua về vai trò của service layer.

  • Xử lý exception hiệu quả trong Spring Boot: Phương pháp tạo Facet để bắt exception dù nó ném ra trên bất cứ đâu.

  • Cấu hình Spring Boot trong file sentayho.com.vnerties: ấy là gì và kĩ thuật chia cấu hình hiệu quả.

  • HTML template và static content material: Thư phần template và static là gì, có chức năng như thế nào?

  • Scheduled job trong Spring Boot: Tạo và thực hành tác vụ theo lộ trình đặt sẵn.

  • Lập trình hướng khía cạnh AOP ko khó như bạn nghĩ: Tìm hiểu về AOP, những khái niệm liên quan và thực hành 1 demo logging cơ bản.

Xem Thêm  Tìm hiểu trọc phú là gì | Sen Tây Hồ

2.4. JPA/MongoDB

Mình chỉ new làm cho quen sở hữu Spring Boot được 6 tháng, và mission mình làm cho chỉ về MongoDB thôi. Còn về SQL thì mình sẽ làm cho sau nhé Học Spring Boot bắt đầu từ đâu?

  • Phương pháp cấu hình database trong Spring Boot: Tạo DB, thêm những thông số kết nối và kết nối.

  • Cấu trúc lớp và interface của JPA: JPA/MongoDB gồm những interface, class nào, phân cấp ra sau và chức năng của chúng.

  • CRUD cơ bản: Tìm hiểu những thực hiện cơ bản CRUD.

  • Question creation: Tự động động sinh câu question dựa trên tên technique, hoặc bạn có thể customized nó bằng @Question.

  • Thực hành những câu question phức tạp bằng MongoTemplate: Dùng MongoTemplate và những đối tượng như Question, Replace,… để thực hành những hành động phức tạp hơn sở hữu question.

  • Sắp xếp và phân trang knowledge question được: Kind và paging dữ liệu question, đặc biệt là customized paging bằng skip và restrict.

  • Thực hành aggregation: Tổng hợp dữ liệu trong MongoDB

2.5. Template engine

Template engine xử lý phần View trong ứng dụng MVC, trong Spring Boot thì chúng ta dùng template engine để move dữ liệu vào View và trả về 1 trang HTML.

  • Trả về trang HTML cơ bản trong Spring Boot

  • Dùng Thymeleaf trong Spring Boot

  • Dùng JSP trong Spring Boot

2.6. Những device khác

Bên cạnh ra, trong dự án Spring Boot sẽ cần 1 số device khác được embed vào code. Và bạn cần biết cấu hình và dùng chúng để nâng cao năng suất code.

  • Cấu hình và dùng Swagger trong Spring Boot: Swagger là 1 device dùng để xem, chạy, check những API tương tự động Postman. Đặc biệt là nó được kèm theo trong chính mission của bạn, nó sẽ tự động động phân tách metadata của code và sinh API. Bên cạnh ra Swagger còn có thể generate doc từ code của bạn.

  • Thiết lập Logger cho mission Spring Boot

  • Lombok – viết code Java ngắn hơn

  • Cấu hình Spring Actuator: Công cụ giám sát, theo dõi tình trạng net service Spring Boot. Actuator sẽ thêm 1 số API để bạn dùng, thí dụ /information hoặc /well being để verify tình trạng hoạt động của mission.

  • Quarzt – giải pháp thay thế thế cho Spring Schedule

  • Cấu hình Firebase trong Spring Boot: Dùng những tính năng của Firebase như Authentication, Firestore, Storage,… trong dự án Spring Boot.

  • Cấu hình Spring Boot devtools: Để có được những tính năng như HotReload.

Xem Thêm  Bún bò Huế ngon tại Sài Gòn: 15+ quán chuẩn hương vị cố đô

2.7. Nâng cao

  • Unit testing: Dùng JUnit để check ứng dụng Spring Boot.

  • Xuất file Excel trong Spring Boot: Dùng Apache POI để tạo và xuất file Excel.

  • Phương pháp thêm SSL cho Spring Boot: Khiến cho API của bạn tương trợ HTTPS

  • Phương pháp gửi mail trong Spring Boot

  • Phương pháp cấu hình trang 404 và white web page

2.8. What’s subsequent?

Sau thời điểm đã nắm được đủ những tri thức trên, khách hàng có thể tìm hiểu thêm 1 số thứ khác liên quan Spring Boot.

  • Tìm hiểu Spring Safety cơ bản

  • Xác thực khách hàng trong Spring Safety bằng session

  • Xác thực khách hàng trong Spring Safety bằng JWT

  • Spring batch là gì?

  • Spring reactive net: Internet framework bất đồng bộ tương tự động sentayho.com.vn nhưng là Java.

Spring Boot mặc định dùng ngôn ngữ Java, khách hàng có thể tìm hiểu thêm về Kotlin cũng khá hay.

3. Good sources

Những trang net học Java và Spring Boot khá phải chăng:

  • Logicbig: Internet học Java siêu dễ hiểu
  • Loda.me: Lúc mình new tìm hiểu Spring Boot cũng học trên đây, khá okay.
  • Javatpoint: Lúc đầu có coi sơ mà viết dài dòng quá nên khá mệt, dành cho những bạn kiên nhẫn và muốn đào sâu.

À quên nữa, ví dụ khách hàng có thắc mắc hoặc có gì ấy cần bổ sung vào collection thì hãy remark bên dưới nhé. Nó sẽ giúp mình hoàn thiện collection cũng như tri thức nữa.