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à Eclipse và IntelliJ 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
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.
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.
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 JPA và Hibernate
- 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
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,
Bình luận