1. Reviews Spring Boot

1.1. Spring Boot là gì?

Spring là một trong Java framework khôn cùng to cùng khổng lồ, làm cho được đủ hầu như thứ. Nó được chia thành nhiều module, mỗi module làm cho một chức năng, lấy ví dụ như Spring Core, Web, Data access, AOP,... Spring được xây dựng dựa vào 2 khái niệm nền tảng gốc rễ là Dependency injection và AOP (Aspect Oriented Programming).

Bạn đang xem: Spring boot là gì? nó khác gì so với spring?

*

Một rắc rối khi dùng Spring là việc thông số kỹ thuật (config) dự án quá phức tạp. Chúng ta phải làm cho đủ thứ câu hỏi chỉ để chế tạo một web HelloWorld:

Tạo Maven hoặc Gradle projectThêm các thư viện phải thiếtTạo XML để cấu hình project, cấu hình các beanCode với build thành tệp tin WARCấu hình Tomcat server để chạy được file WAR vừa build

Đấy, Spring khá mạnh mẽ nhưng việc thông số kỹ thuật nghe thôi cũng mệt rồi. Vì thế Spring boot ra đời, với các ưu điểm:

Auto config: tự động hóa cấu hình cố kỉnh cho bạn, chỉ cần bước đầu code cùng chạy là đượcXây dựng những bean dựa vào annotation thay vày XMLServer Tomcat được nhúng ngay trong tệp tin JAR build ra, chỉ việc chạy ở bất kỳ đâu java chạy được

*

So sánh với Spring, thì Spring Boot chúng ta chỉ cần:

Dùng Spring Initializr, nhập những info của project, lựa chọn thư viện rồi down code vềMở source code ra và bước đầu codeChạy ngay lập tức trong IDE, hoặc build thành file JAR nhằm chạy được ngay, ko cần thông số kỹ thuật server

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

Trước trên đây mình đã có tìm hiểu về Node.js và đưa sang Spring Boot. Cảm nhận của bản thân mình là khi code Spring Boot bọn họ sẽ tập trung nhiều hơn thế nữa vào business logic, nghĩa là kim chỉ nam của code có tác dụng được gì.

Với Node.js, vày nó quá linh động nên bạn sẽ phải tập trung nhiều vào code hơn, rứa vì mục tiêu của code. Loại như các bạn phải tìm kiếm "best practice", "cách tốt nhất" nhằm code điều gì đó.

Nhưng cùng với Spring boot thì khác, có không ít thư viện bao gồm sẵn và cấu trúc code cũng thành chuẩn chỉnh mực rồi, nên chúng ta không yêu cầu quá đon đả phải viết code vắt nào cho xuất sắc nữa, vậy vào đó sẽ tập trung vào logic hơn.

*

Mình thấy đa số chúng ta hỏi câu này: "Nên học tập Spring tuyệt Spring Boot trước?". Theo mình thì nên cần học Spring Boot trước.

Mình nghĩ bốn tưởng của khá nhiều bạn vẫn với nặng thứ hạng "cái cũ giỏi hơn mẫu mới", "tìm hiểu từ gốc",... Nhưng thực sự khi bước đầu nên khám phá cái dễ ợt hơn. Vừa đỡ nản, vừa làm cho được sản phẩm thực tế, trong những khi với Spring bạn vẫn còn đang phải thông số kỹ thuật quá các và chưa làm được gì ra hồn cả.

2. Cần mày mò những gì

2.1. Java Core

Trước lúc học Spring Boot thì chúng ta cần biết Java. Một trong những kiến 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 người sử dụng (OOP)Java 8: các tính năng vượt trội trong java 8 (tối thiểu nên biết)Collections API: biết phương pháp dùng những collection thường dùng (quan trọng)

Ngoài ra các bạn có thể xem thêm (không biết cũng ko sao vị Spring Boot tương đối ít đụng tới):

Stream APIAsynchronousMulti threadingFile IO

2.2. Package manager

Khi code dự án Spring Boot thì cần có package manager để thống trị các thư viện thiết lập thêm. Bạn nào code Javascript sẽ biết về NPM cùng Yarn, thì Java cũng có hai package manager tựa như là Maven và Gradle.

Tìm hiểu cách dùng Maven cơ bản

Tìm hiểu biện pháp dùng Gradle cơ bản

Phần này lúc mới bước đầu không nên tìm hiểu quá sâu, chỉ cần biết cách thiết đặt thư viện, xóa thư viện, sửa đổi thông tin project, những build-in tasks là được. Sau đây khi chạm tới các thì chúng ta tự khắc quen thôi.

2.3. Spring Boot

Cách học Spring Boot đúng mực là học thực hành, làm project. Bởi vì nhiều sản phẩm trong Spring Boot khôn xiết dễ, hoặc thành chuẩn chỉnh mực rồi, hầu hết là bạn đã từng có lần đụng tới chưa thôi.

Xử lý request vào Controller (phần 2): Trả về lỗi cùng xử lý chuyên sử dụng với các loại data sệt biệt.

Validation tài liệu request - luôn luôn luôn đề nghị thiết

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

Xử lý exception công dụng trong Spring Boot: biện pháp tạo Aspect nhằm bắt exception mặc dù nó ném ra ở bất cứ đâu.

Cấu hình Spring Boot trong file application.properties: đó là gì với kĩ thuật chia thông số kỹ thuật hiệu quả.

HTML template với static content: thư mục template với static là gì, có tác dụng như ráng nào?

Scheduled job trong Spring Boot: sinh sản và thực hiện tác vụ theo định kỳ trình đặt sẵn.

Lập trình hướng tinh tướng AOP không khó như các bạn nghĩ: mày mò về AOP, những khái niệm tương quan và tiến hành một demo logging cơ bản.

2.4. JPA/MongoDB

Mình mới chỉ làm quen với Spring Boot được 6 tháng, cùng project mình làm chỉ về MongoDB thôi. Còn về SQL thì mình sẽ làm sau nhé

*

Cách thông số kỹ thuật database vào Spring Boot: tạo ra DB, thêm các thông số kết nối cùng kết nối.

Cấu trúc lớp với interface của JPA: JPA/MongoDB bao gồm những interface, class nào, phân cấp cho ra sau và công dụng của chúng.

CRUD cơ bản: khám phá các làm việc cơ phiên bản CRUD.

Thực hiện những câu query phức tạp bằng MongoTemplate: áp dụng MongoTemplate cùng các đối tượng người dùng như Query, Update,... để thực hiện các hành vi phức tạp rộng với query.

Sắp xếp và phân trang data query được: Sort và paging tài liệu query, nhất là custom paging bằng skip với limit.

Thực hiện tại aggregation: Tổng hợp tài liệu trong MongoDB

2.5. Template engine

Template engine cách xử lý phần View trong vận dụng MVC, trong Spring Boot thì bọn họ sử dụng template engine nhằm pass tài liệu vào View và trả về một trang HTML.

Trả về trang HTML cơ bạn dạng trong Spring Boot

Sử dụng Thymeleaf vào Spring Boot

Sử dụng JSP trong Spring Boot

2.6. Những tool khác

Ngoài ra, trong dự án công trình Spring Boot vẫn cần một vài tool không giống được embed vào code. Với bạn nên biết cấu hình và sử dụng chúng để cải thiện năng suất code.

Cấu hình và thực hiện Swagger vào Spring Boot: Swagger là 1 tool dùng để xem, chạy, test những API tựa như Postman. Đặc biệt là nó được tất nhiên trong chính project của bạn, nó sẽ tự động hóa phân tích metadata của code với sinh API. Ngoài ra Swagger còn rất có thể generate document từ bỏ code của bạn.

Thiết lập Logger mang lại project 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 triệu chứng web service Spring Boot. Actuator sẽ thêm một số API để chúng ta dùng, lấy một ví dụ /info hoặc /health để kiểm tra tình trạng hoạt động vui chơi của project.

Quarzt - chiến thuật thay ráng cho Spring Schedule

Cấu hình Firebase vào Spring Boot: Sử dụng các tính năng của Firebase như Authentication, Firestore, Storage,... Trong dự án Spring Boot.

Cấu hình Spring Boot devtools: Để bao gồm được các tính năng như HotReload.

2.7. Nâng cao

Unit testing: thực hiện JUnit nhằm test áp dụng Spring Boot.

Xuất tệp tin Excel trong Spring Boot: thực hiện Apache POI để sinh sản và xuất tệp tin Excel.

Cách thêm SSL đến Spring Boot: tạo cho API của người sử dụng hỗ trợ HTTPS

Cách gởi mail trong Spring Boot

Cách thông số kỹ thuật trang 404 cùng white page

2.8. What"s next?

Sau lúc đã thế được đủ những kiến thức trên, các bạn có thể tham khảo thêm một số sản phẩm công nghệ khác liên quan Spring Boot.

Tìm gọi Spring Security cơ bản

Xác thực người dùng trong Spring Security bởi session

Xác thực người dùng trong Spring Security bằng JWT

Spring batch là gì?

Spring reactive web: web framework bất đồng bộ tương tự Node.js nhưng là Java.

Spring Boot mặc định sử dụng ngôn từ Java, các bạn có thể đọc thêm về Kotlin cũng tương đối hay.

Xem thêm: Từ Điển Anh Việt " Hoop Là Gì Trong Tiếng Việt? Từ Điển Anh Việt Hoops

3. Good resources

Các website học Java và Spring Boot khá tốt:

À quên nữa, nếu chúng ta có vướng mắc hoặc có gì đó cần bổ sung vào series thì nên comment bên dưới nhé. Nó để giúp mình hoàn thiện series cũng giống như kiến thức nữa.