Chương 1 CƠ SỞ LÝ THUYẾT 1. Ngôn ngữ lập trình Java Spring Boot Spring Boot là một framework phát triển ứng dụng web Java được xây dựng trên nền tảng Spring Framework. Nó nhằm giảm độ phức tạp và công việc cấu hình mà phát triển ứng dụng Java truyền thống thường đòi hỏi. Spring Boot cung cấp một cách tiếp cận tối giản hóa phát triển ứng dụng, đồng thời tăng tính khả chuyển, năng suất và hiệu quả.
Lịch sử phát triển của Spring Boot: Spring Boot ra đời vào năm 2013 với mục tiêu đơn giản hóa việc phát triển ứng dụng Spring. Nó được phát triển bởi Pivotal Software (hiện nay là VMware) và là một phần của dự án Spring Framework. Spring Boot nhanh chóng thu hút sự quan tâm và sử dụng rộng rãi trong cộng đồng phát triển Java nhờ vào tính đơn giản và khả năng giảm thiểu công việc cấu hình. Đặc điểm và lợi ích của việc sử dụng Spring Boot để xây dựng ứng dụng web: Tự động cấu hình: Spring Boot tự động cấu hình các thành phần của ứng dụng dựa trên quy ước và mặc định hợp lý.
Điều này giúp giảm thiểu công việc cấu hình thủ công và giúp bạn nhanh chóng tạo ra một ứng dụng hoạt động. Nhúng servlet container: Spring Boot tích hợp các servlet container như Tomcat, Jetty, Undertow và tạo ra một file JAR độc lập có thể chạy mà không cần cài đặt bổ sung. Điều này giúp giảm độ phức tạp trong việc triển khai ứng dụng và tạo ra một môi trường độc lập. Cấu hình dễ dàng: Spring Boot cung cấp cách tiếp cận dễ dàng để cấu hình ứng dụng thông qua tệp tin cấu hình (ví dụ: application.yml) hoặc thông qua các tùy chọn dòng lệnh.
Điều này cho phép bạn tùy chỉnh và cấu hình ứng dụng một cách linh hoạt. Quản lý phụ thuộc: Spring Boot hỗ trợ quản lý các phụ thuộc của ứng dụng thông qua Maven hoặc Gradle. Nó giúp giảm thiểu công việc liên quan đến quản lý thư viện và phiên bản, đồng thời đảm bảo tính tương thích và an toàn của ứng dụng. SVTH: Nguyễn Thanh Cường 4 Xây dựng website bán hàng FastShop Tích hợp dễ dàng: Spring Boot tích hợp tốt với các công nghệ và framework khác trong cộng đồng Java.
Nó hỗ trợ tích hợp dễ dàng với các công cụ như Spring Data, Spring Security, Thymeleaf, Hibernate và nhiều thư viện và framework khác. Kiến trúc linh hoạt: Spring Boot cung cấp kiến trúc linh hoạt cho phép bạn phát triển ứng dụng theo kiểu monolithic hoặc microservices. Bạn có thể chia nhỏ ứng dụng thành các thành phần độc lập và tương tác thông qua các giao thức như RESTful API. Java Spring Boot được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau của phát triển phần mềm.
Dưới đây là một số lĩnh vực thường sử dụng Java Spring Boot.Phát triển ứng dụng web: Java Spring Boot là một lựa chọn phổ biến cho việc phát triển ứng dụng web. Nó cung cấp các tính năng mạnh mẽ như cấu hình dễ dàng, quản lý phụ thuộc, quản lý trạng thái phiên, xử lý yêu cầu HTTP và tương tác với cơ sở dữ liệu.Microservices và kiến trúc dựa trên dịch vụ: Java Spring Boot cung cấp các tính năng như phân tán, khả năng mở rộng và quản lý dịch vụ để xây dựng các hệ thống microservices. Nó giúp phân tách ứng dụng thành các dịch vụ độc lập nhau và tương tác thông qua các giao thức như RESTful API.Internet of Things (IoT): Spring Boot có thể được sử dụng để phát triển các ứng dụng IoT, như kết nối với các thiết bị thông minh, thu thập và xử lý dữ liệu từ các cảm biến, và tương tác với các hệ thống back-end.Phát triển ứng dụng di động: Spring Boot cũng có thể được sử dụng để phát triển ứng dụng di động thông qua việc cung cấp các API và dịch vụ web.Phát triển ứng dụng đám mây: Java Spring Boot thường được sử dụng để phát triển các ứng dụng đám mây, như viết các microservices trên nền tảng đám mây và triển khai trên các môi trường đám mây như AWS, Azure hoặc Google Cloud.Các lĩnh vực khác: Ngoài ra, Spring Boot cũng có thể được sử dụng trong các lĩnh vực khác như phát triển ứng dụng ngân hàng, quản lý tài chính, hệ thống quản lý doanh nghiệp và nhiều lĩnh vực khác. SVTH: Nguyễn Thanh Cường 5 Xây dựng website bán hàng FastShop Hình 1.1: Logo Java Spring Boot 1.
Cài đặt môi trường Để phát triển ứng dụng Spring Boot, bạn cần cài đặt các công cụ như Java Development Kit (JDK), Spring Boot Framework và một IDE (Integrated Development Environment) như IntelliJ IDEA hoặc Eclipse. Dưới đây là hướng dẫn cài đặt chi tiết: 1. Cài đặt Java Development Kit (JDK): - Truy cập trang web chính thức của Oracle để tải JDK: https://www.com/java/technologies/javase-jdk11-downloads.html - Chọn phiên bản JDK phù hợp với hệ điều hành và kiến trúc của bạn và tải xuống. - Chạy tệp tin cài đặt JDK đã tải xuống và làm theo các hướng dẫn trên màn hình để hoàn thành quá trình cài đặt.
Lưu ý đường dẫn cài đặt JDK.2: Logo JDK SVTH: Nguyễn Thanh Cường 6 Xây dựng website bán hàng FastShop 1. Cài đặt Spring Boot Framework: - Spring Boot Framework có thể được quản lý và cài đặt thông qua Maven hoặc Gradle. Bạn có thể chọn một trong hai công cụ này để quản lý các phụ thuộc và tạo dự án Spring Boot. - Để sử dụng Maven, hãy tải và cài đặt Apache Maven từ trang web chính thức: https://maven.cgi - Để sử dụng Gradle, hãy tải và cài đặt Gradle từ trang web chính thức: https://gradle.
Cài đặt IDE (IntelliJ IDEA): - Truy cập trang web chính thức của IntelliJ IDEA để tải xuống bản Community hoặc Ultimate: https://www.com/idea/download - Chạy tệp tin cài đặt IntelliJ IDEA đã tải xuống và làm theo các hướng dẫn trên màn hình để hoàn thành quá trình cài đặt.3: Logo IDE SVTH: Nguyễn Thanh Cường 7 Xây dựng website bán hàng FastShop 1. Tạo dự án Spring Boot với IntelliJ IDEA: - Mở IntelliJ IDEA và chọn "Create New Project". - Chọn "Spring Initializr" trong danh sách các loại dự án. - Chọn JDK đã cài đặt trong danh sách "Project SDK".
- Chọn "Spring Boot" trong danh sách các phần mở rộng. - Đặt tên và đường dẫn cho dự án và nhấp vào "Next". - Chọn các dependencies cần thiết cho dự án Spring Boot của bạn và nhấp vào "Next". - Xác nhận các thiết lập và nhấp vào "Finish" để tạo dự án Spring Boot mới.
Sau khi hoàn thành các bước trên, bạn đã cài đặt JDK, Spring Boot và IntelliJ IDEA để phát triển ứng dụng Spring Boot. Từ đây có thể bắt đầu viết mã và xây dựng ứng dụng Spring Boot trong môi trường phát triển đã cài đặt. SVTH: Nguyễn Thanh Cường 8 Xây dựng website bán hàng FastShop Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Khảo sát yêu cầu 2.
Sơ đồ nghiệp vụ Hình 2. Sơ đồ nghiệp vụ thực tế (nếu có) 2. Quy trình đặt hang online Bảng 2.1: Quy trình đặt hàng online STT Hoạt động Input Data Output Data End User Lựa chọn sản Khách hang truy cập 1. Hiện thị website Khách phẩm trang web Xem thông tin Hiện thị thông tin 2.
Click vào sản phẩm Khách sản phẩm sản phẩm Thêm vào giỏ Click vào button Hiện thị sản phẩm 3. Khách hàng thêm giỏ hàng trong giỏ hàng Kiểm tra giỏ Click vào button giỏ Hiện thị sản phẩm 4. Khách hàng hàng trong giỏ hàng SVTH: Nguyễn Thanh Cường 9 Xây dựng website bán hàng FastShop Đăng nhập Nhập tài khoản và Đăng nhập thành 5. hoặc tạo tài mật khẩu hoặc đăng Khách công khoản kí tài toàn Nhập thông tin liên Lưu thông tin liên Điền thông tin 6.
lạc và địa chỉ giao lạc và địa chỉ giao Khách giao hàng hàng hàng Phương thức Chọn phương thức Hiện thị phương 7. Khách thanh toán thanh toán thức thanh toán Xác nhận đặt Click xác nhận đặt Hiện thị đặt hang 8. Khách hàng hàng thành công Theo dõi đơn Click quản lí đơn Cập nhật tình trạng 9. Admin hàng hàng đơn hàng SVTH: Nguyễn Thanh Cường 10 Xây dựng website bán hàng FastShop 2.
Liệt kê người dùng và yêu cầu 2. Phân tích thiết kế hệ thống 2. Liệt kê Actor và Usecase 2. Khách hàng − Đăng nhập − Cập nhật thông tin khách hàng.
− Xem thông tin sản phẩm − Quản lí giỏ hàng − Tìm kiếm sản phẩm − Đặt hàng − Quản lí đơn hàng − Đánh giá sản phẩm − Thanh toán 2. Admin (người quản trị) − Đăng nhập − Quản lí khuyến mãi − Quản lí đơn hàng − Quản lí sản phẩm − Quản lí danh mục sản phẩm − Quản lí thống kê, báo cáo − Quản lí tài khoản nhân viên 2. Khách vãng lai − Đăng kí − Tìm kiếm sản phẩm − Xem thông tin sản phẩm − Xem sản phẩm nổi bật − Xem thông tin khuyến mãi SVTH: Nguyễn Thanh Cường 11 Xây dựng website bán hàng FastShop 2.2: Sơ đồ Use Case SVTH: Nguyễn Thanh Cường 12 Xây dựng website bán hàng FastShop 2.3: Sơ đồ hoạt động class 2. Khách hàng 2.
Xem thông tin sản phẩm STT Use case name Xem thông tin sản phẩm 1. Description Người dung xem thông tin chi tiết sản phẩm 2. Actors Khách hàng 3. Input Khách hàng 4.
Output Nội dung trang cá nhân 5. Actor nhấn sản phẩm muốn xem - Bắt đầu use case SVTH: Nguyễn Thanh Cường 13 Xây dựng website bán hàng FastShop 2. Hệ thống hiển thị thông tin chi tiết sản phẩm➔ Kết thúc Use case 2. Quản lí giỏ hàng STT Use case name Quản lí giỏ hàng sản phẩm 1.
Description Người dung xem thông tin chi tiết sản phẩm 2. Actors Khách hàng 3. Input Khách hàng 4. Output Nội dung trang cá nhân 5.
Actor click vào sản phẩm muốn thêm vào giỏ hàng - Bắt đầu use case 2.Bấm vào thêm giỏ hàng 3. Hệ thống hiển thị thông báo đã thêm thành công 4.Nếu actor muốn xóa sản phẩn trong giỏ hàng bấm vào biểu tượng giỏ hàng bấm xóa để xóa sản phẩm khỏi giỏ hàng➔ Kết thúc Use case Hình 2.4: Sơ đồ hoạt động quản lý giỏ hàng 2. Đặt hàng STT Use case name Đặt hàng 1. Description Khách hàng muốn đặt hàng 2.
Actors Khách hàng 3. Input Khách muốn mua hàng SVTH: Nguyễn Thanh Cường 14 Xây dựng website bán hàng FastShop 4. Output Đặt hàng thành công 5. Actor click sản phẩm muốn mua- Bắt đầu use case 2.Bấm mua ngay 3.
Actor chọn phương thức thanh toán 4.Chọn xem trước hóa đơn 5.Chọn “Tôi chấp nhận” để xác nhận đặt hàng➔ Kết thúc Use case Hình 2.5: Sơ đồ hoạt động mua hàng 2. Quản lí đơn hàng STT Use case name Quản lí đơn hàng 1. Description Khách hàng muốn quản lí đơn hàng 2. Actors Khách hàng 3.
Input Đã xác nhận mua hàng 4. Output Tiến độ giao hàng 5. Actor click chọn quản lí hóa đơn- Bắt đầu use case 2.Hiện thị trang web quản lí đơn hàng 3.