Spring boot là gì

     

1. Giới thiệu Spring Boot

1.1. Spring Boot là gì?

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

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

*

Một rắc rối khi sử 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 có tác dụng đủ 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 cần 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 tệp tin WAR vừa build

Đấy, Spring khá trẻ trung và tràn đầy năng lượng nhưng việc cấu hình nghe thôi cũng mệt nhọc rồi. Cho nên Spring boot ra đời, với các ưu điểm:

Auto config: auto cấu hình cụ cho bạn, chỉ cần bước đầu code và chạy là đượcXây dựng những bean dựa vào annotation thay vày XMLServer Tomcat được nhúng tức thì trong file JAR build ra, chỉ cần chạy ở bất cứ đâ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 các info của project, chọn thư viện rồi down code vềMở source code ra và ban đầu codeChạy ngay trong IDE, hoặc build thành tệp tin JAR để chạy được ngay, không cần thông số kỹ thuật server

1.2. Nguyên nhân nên học Spring Boot?

Trước đây mình đã có được 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 họ sẽ tập trung nhiều hơn nữa vào business logic, nghĩa là mục tiêu của code có tác dụng được gì.

Với Node.js, vì nó quá linh động nên bạn sẽ phải triệu tập nhiều vào code hơn, cố vì mục tiêu của code. Kiểu dáng như bạn phải tìm "best practice", "cách giỏi nhất" để code điều gì đó.

Nhưng với Spring boot thì khác, có không ít thư viện tất cả sẵn và kết cấu code cũng thành chuẩn mực rồi, nên các bạn không phải quá thân thương phải viết code chũm nào cho xuất sắc nữa, vắt 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 giỏi 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 rất nhiều bạn vẫn có nặng hình dáng "cái cũ xuất sắc hơn cái mới", "tìm hiểu từ gốc",... Mà lại thực sự khi ban đầu nên tìm hiểu cái dễ dãi hơn. Vừa đỡ nản, vừa có tác dụng được thành phầm thực tế, trong khi với Spring bạn vẫn còn đó đang phải cấu hình quá các và không làm được gì ra hồn cả.

2. Cần khám phá những gì

2.1. Java Core

Trước khi tham gia học Spring Boot thì chúng ta cần biết Java. Một số 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 được cải thiện trong java 8 (tối thiểu nên biết)Collections API: biết phương pháp dùng các collection phổ biến (quan trọng)

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

Stream APIAsynchronousMulti threadingFile IO

2.2. Package manager

Khi code dự án công trình Spring Boot thì cần phải có package manager để thống trị các thư viện tải thêm. Chúng ta nào code Javascript đã biết về NPM với Yarn, thì Java cũng đều có hai package manager giống như là Maven và Gradle.

Tìm hiểu giải pháp 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 cài đặt thư viện, xóa thư viện, chỉnh sửa thông tin project, những build-in tasks là được. Trong tương lai khi đụng tới những thì các bạn tự tương khắc quen thôi.

2.3. Spring Boot

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

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

Validation dữ liệu request - luôn luôn luôn đề xuất 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: giải pháp tạo Aspect nhằm bắt exception cho dù nó ném ra ở bất cứ đâu.

Cấu hình Spring Boot trong tệp tin application.properties: chính là gì cùng kĩ thuật chia cấu hình hiệu quả.

HTML template với static content: thư mục template với static là gì, có chức năng như vậy nào?

Scheduled job vào Spring Boot: tạo và tiến hành tác vụ theo lịch trình đặt sẵn.

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

2.4. JPA/MongoDB

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

*

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

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

Xem thêm: Tải Smart Defrag 4 Là Gì

CRUD cơ bản: khám phá các làm việc cơ bạn dạng CRUD.

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

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

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

2.5. Template engine

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

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

Sử dụng Thymeleaf trong Spring Boot

Sử dụng JSP trong Spring Boot

2.6. Các tool khác

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

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

Thiết lập Logger đế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 một số API để các bạn dùng, ví dụ /info hoặc /health để kiểm tra tình trạng hoạt động của project.

Quarzt - giải pháp thay nỗ lực cho Spring Schedule

Cấu hình Firebase vào Spring Boot: Sử 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 các tính năng như HotReload.

2.7. Nâng cao

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

Xuất file Excel trong Spring Boot: thực hiện Apache POI để tạo nên và xuất tệp tin Excel.

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

Cách nhờ cất hộ mail vào Spring Boot

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

2.8. What"s next?

Sau khi đã thay được đủ những kiến thức trên, các bạn có thể tìm hiểu thêm một số thứ khác tương quan Spring Boot.

Tìm hiểu 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 dùng trong Spring Security bởi JWT

Spring batch là gì?

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

Spring Boot mặc định sử dụng ngôn ngữ Java, các bạn có thể tìm hiểu thêm về Kotlin cũng khá hay.

3. Good resources

Bên cạnh series này còn có khá nhiều nơi không giống viết bài về Spring Boot hơi ok. Lấy ví dụ như như các trang sau:

Thêm những trang giờ Anh nữa:

Còn vài trang nữa như Dzone,... Mà lại mình không liệt kê hết ở đây.

Xem thêm: Top 18 Cách Nấu Bò Sốt Vang Với Gói Gia Vị Săn, Cách Nấu Bò Sốt Vang Với Gói Gia Vị Săn

À quên nữa, nếu chúng ta có thắc mắc hoặc có nào đó cần bổ sung cập nhật vào series thì hãy 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.