Giới thiệu về Spring Boot. Spring Boot là gì?

Tìm hiểu sơ qua Spring Boot

Spring Boot là một dự án phát triển bởi ngôn ngữ Java trong hệ sinh thái Spring framework. Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng.

Để phát triển một ứng dụng web cơ bản HelloWorld sử dụng Spring framework bạn sẽ cần ít nhất 5 công đoạn sau;

  • Tạo một project sử dụng Maven với các dependency cần thiết của Spring MVC và Servlet API.
  • Một tập tin web.xml để khai báo DispatcherServlet của Spring MVC.
  • Một tập tin cấu hình của Spring MVC.
  • Một class Controller trả về một trang “Hello World” khi có request đến.
  • Cuối cùng là phải có một web server dùng để triển khai ứng dụng lên chạy.

Trong các công đoạn này, chỉ có công đoạn tạo một class Controller thì có thể khác cho các ứng dụng khác nhau vì mỗi ứng dụng có một yêu cầu khác nhau. Còn các công đoạn khác thì như nhau.

Giờ đây với Spring Boot, chúng ta có thể tạo dự án Spring một cách nhanh chóng và cấu hình cũng đơn giản dùng Sublime Text để phát triển luôn khỏi cần cài đặt eclipse hay netbean nặng bỏ bà.
Dưới đây là một số tính năng nổi bật của Spring Boot:

  • Tạo các ứng dụng Spring độc lập
  • Nhúng trực tiếp Tomcat, Jetty hoặc Undertow (không cần phải deploy ra file WAR)
  • Các starter dependency giúp việc cấu hình Maven đơn giản hơn
  • Tự động cấu hình Spring khi cần thiết
  • Không sinh code cấu hình và không yêu cầu phải cấu hình bằng XML …

Làm demo một project Spring Boot trong 5 phút

Để khởi tạo một dự án chơi thì cần làm các bước sau:

Đầu tiên, các bạn hãy cài đặt Spring Boot CLI trước. Bạn nào chưa biết cách cài đặt thì có thể tham khảo trên page spring boot.

Kiểm tra Spring Boot CLI như sau:

Kế tiếp, mình sẽ dùng Spring Boot CLI để tạo một ứng dụng web cơ bản bằng câu lệnh sau:

-d=web: sử dụng Spring Boot Web Dependency. chi tiết về Dependency

Kế tiếp, mình sẽ tạo ứng dụng web tên là helloWorld như sau:

Kế tiếp, ta sẽ được cấu trúc của một Maven project như sau:

Kế tiếp, dùng command line di chuyển đến thư mục và chạy ứng dụng với câu lệnh sau:

mvn spring-boot:run

trong lần đầu chạy có thể hơi lâu khoảng 1-2 phút.

Kế tiếp, Spring Boot tự động làm hết mọi thứ để chạy ứng dụng web trên Tomcat với port mặc định là 8080.

Kế tiếp, dùng trình duyệt và truy cập đến http://localhost:8080 sẽ thấy kết quả sẽ như sau:

Chúng ta sẽ thấy lỗi 404 Not Found là vì trong project mà chúng ta vừa tạo không có một Controller nào xử lý cho request đến.

Bây giờ, nếu các bạn tạo một class HelloWorldController trong folder \src\main\java\app\controller\home:

Kế tiếp, run lại câu lệnh mất khoảng 15 giây:

mvn spring-boot:run

Sau khi reload lại browser sẽ thấy:

Tổng kết lại khi sử dụng Spring Boot chúng ta không mất qua nhiều công đoạn và thời gian để tạo một web project đẻ chạy. Mọi thứ đã được Spring Boot tự động làm hết như sử dụng các framework PHP như Symfony, Laravel,… cái mà chúng ta quan tâm chỉ là develop Controller. Một quan điểm khác của mình là thấy Java web sau khi build chạy rất nhanh hơn tốc độ PHP sau khi dùng APC Cache :P. Tuy nhiên, đó làm cảm nhận của mình còn việc nhanh hơn hay không thì mình sẽ làm 1 vài so sánh performance để kiểm nghiệm lại 😀

Sliding Sidebar

About Me

About Me

Hello, my name is Dũng (Johnny). Welcome to my blog.

As I’m a developer, I write about topics related to the field of programming, mainly from a technical point of view. On this blog you’ll find posts which encourage discussion, information about development trends, case studies, reviews, tutorials, tips on how to improve your effectiveness, and anything else that might be fascinating to people from the IT industry.
I love PHP, NodeJS, Java,... and Fullstack.