Chào các bạn, hy vọng sau khi đọc bài viết trước của mình giới thiệu chung về Spring Boot (tại đây), các bạn đã có cái nhìn tổng quan về framework này. Để có hứng thú ngâm cứu tiếp, hãy cùng tạo ra một sản phẩm là một project Spring Boot đầu tiên cùng mình trong bài viết này nhé.

Những thứ cần chuẩn bị

Có nhiều IDE có thể dùng để code Spring Boot tùy theo thói quen mỗi người, có thể là NetBeans, Eclipse hay IntelliJ. Tuy nhiên, phù hợp và được ưa chuộng nhất là EclipseIntelliJ IDEA (bản Ultimate phải trả phí mới có hỗ trợ Spring). Bạn có thể tải 2 IDE trên tại:

Eclipse: https://www.eclipse.org/downloads/

IntelliJ Ultimate Edition: https://www.jetbrains.com/idea/download/#section=windows

IDE Eclipse cùng với extension Spring Tool Suite (STS) để phát triển Spring Boot
IDE Eclipse cùng với extension Spring Tool Suite (STS) để phát triển Spring Boot

IntelliJ của JetBrains

Qua trải nghiệm của cá nhân mình và đồng nghiệp, mình khuyên các bạn nên sử dụng IntelliJ để code Spring Boot vì nó đem lại cảm giác rất tốt, gợi ý code thông minh và ít lỗi hơn Eclipse (cũng dễ hiểu, vì Eclipse là hàng miễn phí có license của IntelliJ khá là đắt nên tốt hơn là cũng đúng thôi =)) ) Nhưng không vì thế mà các bạn không có cơ hội trải nghiệm phiên bản xịn xò của IntellJ đâu nhé, đặc biệt là với các bạn sinh viên, chỉ cần có mail edu được nhà trường cung cấp thì các bạn có thể tham gia chương trình GitHub Student Developer Pack với những ưu đãi license rất lớn cho sinh viên sử dụng các tool chất lượng, trong đó có bộ sản phẩm của JetBrains với thời hạn 1 năm, gồm IntelliJ, DataGrip, WebStorm và cực nhiều những IDE chất lượng khác của hãng này. Nếu bạn là sinh viên và muốn trải nghiệm thì hãy tìm hiểu trong bài viết này nhé, chỉ cần vài bước xác thực là bạn đã có thể sử dụng IntelliJ Ultimate miễn phí trong 1 năm rồi.

GitHub Student Pack với nhiều sản phẩm chất lượng
GitHub Student Pack với nhiều sản phẩm chất lượng

Spring Initializr

Như mình đã nói ở bài viết trước, ưu điểm của Spring Boot so với Spring Framework là tối ưu quá trình config dự án cho dev, Spring Initializr chính là một yếu tố quan trọng của quá trình tối ưu đó.

Spring Initializr là một công cụ giúp chúng ta khởi tạo project Spring Boot một cách nhanh chóng. Spring Initializr có địa chỉ tại https://start.spring.io/, đối với IntelliJ Ultimate thì công cụ này được tích hợp trong IDE luôn, rất tiện.

Giao diện của Spring Initializr
Giao diện của Spring Initializr

1. Khai báo các thông tin project

Spring Initializr yêu cầu khai báo một số thông tin của project như trong hình trên:

Loại project: lựa chọn package manager cho project, Maven hoặc Gradle

Language: ngôn ngữ lập trình sử dụng cho project

Spring Boot: phiên bản Spring Boot được sử dụng cho project

Packaging: lựa chọn loại file build ra, JAR hay là WAR

Java: phiên bản Java được sử dụng cho project

Ngoài ra còn có phần Project Metadata với các trường thông tin như:

Group: thông tin về nhóm project

Artifact: thông tin về ID project

Name: tên của project

Description: mô tả project

Package name: tên của package project sau khi khởi tạo

2. Lựa chọn dependencies cho project

Bước này được thực hiện tại nửa bên phải của màn hình giao diện Spring Initializr, mục đích để lựa chọn các thư viện (lib) bổ trợ cho project chính. Ví dụ, để có thể code web, cần lựa chọn Spring Web, một số dependencies thường gặp khác như:

  • Lombok: hỗ trợ code ngắn gọn bằng cách rút gọn một số boiler-plate code qua annotation như Getter, Setter, Constructor, …. Mình sẽ có một bài viết riêng về Lombok sau nhé.
  • Spring Data JPA: xử lý data và làm việc với Database qua JPAHibernate
  • SpringBoot DevTools: tính năng hỗ trợ LiveReload giúp khởi động lại ứng dụng nhanh hơn, giảm thời gian chờ sau mỗi lần chỉnh sửa source code.

3. Hoàn thành

Sau khi đã cung cấp các thông tin của project và lựa chọn dependencies cần thiết, chỉ cần nhất nút Generate, file zip chứa project sẽ được tải về, bạn chỉ cần giải nén và mở ra bằng những IDE đã được đề cập ở phần đầu là đã có thể code luôn mà không cần phải config gì thêm. Cấu trúc project sau khi giải nén như sau

Project được sinh bởi Spring Initializr
Project được sinh bởi Spring Initializr

Lời kết

Vậy là chúng ta đã hoàn thành việc tạo ra một project Spring Boot đầu tiên khá đơn giản phải không các bạn? Bài viết tới mình sẽ cùng các bạn code một ví dụ nho nhỏ trên project này nhé, xin chào và hẹn gặp lại.

Lê Sơn,