SPRING BOOT LÀ GÌ

1. Reviews Spring Boot

1.1. Spring Boot là gì?

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

Bạn đang xem: Spring boot là gì

*

Một rắc rối khi dùng Spring là việc cấu hình (config) dự án công trình quá phức tạp. Các bạn phải làm đủ thứ vấn đề chỉ để chế tạo ra một website HelloWorld:

Tạo Maven hoặc Gradle projectThêm các thư viện nên thiếtTạo XML để thông số kỹ thuật project, cấu hình các beanCode cùng build thành file WARCấu hình Tomcat server nhằm chạy được tệp tin WAR vừa build

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

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

*

So sánh với Spring, thì Spring Boot các bạn chỉ cần:

Dùng Spring Initializr, nhập các info của project, chọn thư viện rồi down code vềMở source code ra và bắt đầ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. Nguyên nhân nên học tập Spring Boot?

Trước trên đây mình đã sự hiểu biết về Node.js và gửi sang Spring Boot. Cảm nhận của chính bản thân mình là lúc code Spring Boot bọn họ sẽ tập trung nhiều hơn vào business logic, nghĩa là phương châm của code làm được gì.

Với Node.js, vị nó quá hoạt bát nên các bạn sẽ phải triệu tập nhiều vào code hơn, núm vì mục đích của code. Dạng hình như chúng ta phải tra cứu "best practice", "cách xuất sắc nhất" để code điều gì đó.

Nhưng với Spring boot thì khác, có không ít thư viện có sẵn và cấu tạo code cũng thành chuẩn chỉnh mực rồi, nên bạn không đề xuất quá thân thiết phải viết code cố nào cho tốt nữa, cố gắng vào kia sẽ triệu tập vào lô ghích hơn.

*

Mình thấy nhiều bạn hỏi câu này: "Nên học tập Spring tố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 nhiều bạn vẫn mang nặng hình dạng "cái cũ xuất sắc hơn cái mới", "tìm đọc từ gốc",... Nhưng lại thực sự khi ban đầu nên mày mò cái thuận lợi hơn. Vừa đỡ nản, vừa có tác dụng được sản phẩm thực tế, trong những khi với Spring bạn vẫn còn đấy đang phải thông số kỹ thuật quá các và không làm được gì ra hồn cả.

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

2.1. Java Core

Trước khi học Spring Boot thì chúng ta cần biết Java. Một số trong những kiến thức quan trọng của Java như sau:

Java cơ bản: biến, hàm, vòng lặp,...Hướng đối tượng người dùng (OOP)Java 8: các tính năng lạ trong java 8 (tối thiểu yêu cầu biết)Collections API: biết phương pháp dùng các collection thông dụng (quan trọng)

Ngoài ra chúng ta có thể xem thêm (không biết cũng không 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 phải có package manager để cai quản các thư viện mua thêm. Các bạn nào code Javascript đã biết về NPM với Yarn, thì Java cũng có thể có hai package manager giống như là Maven và Gradle.

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

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

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

2.3. Spring Boot

Cách học tập Spring Boot đúng đắn là học tập thực hành, làm project. Chính vì nhiều vật dụng trong Spring Boot khôn cùng dễ, hoặc thành chuẩn mực rồi, đa số là bạn đã có lần đụng tới chưa thôi.

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

Validation dữ liệu request - luôn luôn phải thiết

Tổ chức code service vào Spring Boot: bài bác ngắn gọn gàng nói sơ qua về phương châm của service layer.

Xử lý exception kết quả trong Spring Boot: biện pháp tạo Aspect để bắt exception cho dù nó ném ra ở bất kể đâu.

Cấu hình Spring Boot trong tệp tin application.properties: đó là gì với kĩ thuật chia cấu hình hiệu quả.

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

Scheduled job trong Spring Boot: tạo thành và thực hiện tác vụ theo kế hoạch trình để sẵn.

Lập trình hướng kỹ càng AOP không cực nhọc như bạn nghĩ: tò mò về AOP, những khái niệm liên quan và triển khai một chạy thử logging cơ bản.

2.4. JPA/MongoDB

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

*

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

Xem thêm: Cao Vy Mở Lại Facebook, Thẳng Thắn Đáp Trả Những Lời Xỉa Xói

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

CRUD cơ bản: tìm hiểu các thao tác cơ bản CRUD.

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

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

Thực hiện nay aggregation: Tổng hợp dữ liệu trong MongoDB

2.5. Template engine

Template engine giải pháp xử lý phần View trong vận dụng MVC, vào Spring Boot thì 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 trong Spring Boot

Sử dụng JSP trong Spring Boot

2.6. Những tool khác

Ngoài ra, trong dự án Spring Boot đang cần một trong những tool khác được embed vào code. Cùng bạn nên biết cấu hình và sử dụng chúng để nâng cấp năng suất code.

Cấu hình và áp dụng Swagger trong Spring Boot: Swagger là một trong những tool dùng để làm xem, chạy, test những API tương tự như Postman. Đặc biệt là nó được hẳn nhiên trong chủ yếu project của bạn, nó sẽ tự động hóa phân tích metadata của code và sinh API. Trong khi Swagger còn rất có thể generate document trường đoản cú code của bạn.

Thiết lập Logger mang đến project Spring Boot

Lombok - viết code Java ngắn hơn

Cấu hình Spring Actuator: chính sách giám sát, theo dõi tình trạng web service Spring Boot. Actuator sẽ thêm 1 số API để bạn dùng, lấy một ví dụ /info hoặc /health để check tình trạng hoạt động vui chơi của project.

Quarzt - giải pháp thay ráng cho Spring Schedule

Cấu hình Firebase trong 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: Để tất cả được các tính năng như HotReload.

2.7. Nâng cao

Unit testing: sử dụng JUnit để test vận dụng Spring Boot.

Xuất file Excel trong Spring Boot: sử dụng Apache POI để tạo thành và xuất tệp tin Excel.

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

Cách gửi mail vào Spring Boot

Cách thông số kỹ thuật trang 404 với white page

2.8. What"s next?

Sau lúc đã cụ được đủ những kiến thức trên, chúng ta có thể tìm hiểu thêm một số thiết bị khác liên quan Spring Boot.

Tìm phát âm Spring Security cơ bản

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

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

Spring batch là gì?

Spring reactive web: website framework bất đồng nhất tương trường đoản cú Node.js tuy vậy là Java.

Spring Boot mặc định sử dụng ngôn từ Java, chúng ta có thể tham khảo thêm về Kotlin cũng khá hay.

3. Good resources

Các trang web học Java và Spring Boot hơi tốt:

À quên nữa, nếu các bạn có vướng mắc hoặc có gì đấy cần bổ sung cập nhật vào series thì hãy comment bên dưới nhé. Nó sẽ giúp đỡ mình hoàn thành xong series cũng giống như kiến thức nữa.