hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Cấu trúc dữ liệu và giải thuật
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
      • NodeJS
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
      • MongoDB
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
      • Spring Boot
    • Lập trình C#
      • Lập Trình C# Cơ Bản
      • ASP.NET Core MVC
    • Lập trình Python
    • Git và Github
    • Machine Learning
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
    • Mạng và truyền thông
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • Spring Boot
Spring Boot bài 02: Cài Java 21, tạo và chạy dự án Spring Boot 4.1.1
Java và Spring Boot – MVC và REST API

Spring Boot bài 02: Cài Java 21, tạo và chạy dự án Spring Boot 4.1.1

  • 18-10-2026
  • Toanngo92
  • 0 Comments

Giáo trình Spring Boot MVC và REST API · Chương 1/12: Khởi đầu và môi trường 2026 · Bài 02/28 · Biên soạn tháng 10/2026.

← Bài 01 · Mục lục 12 chương · Bài 03 →

Mục lục

  • Mục tiêu bài học
  • Chuẩn bị môi trường
  • Đọc cấu trúc trước khi chạy
  • Chạy bản mẫu trên PowerShell
  • Biết dừng và kiểm tra đúng chỗ
  • Lỗi thường gặp và lưu ý
  • Ghi nhớ
  • Tài liệu đối chiếu

Mục tiêu bài học

Tạo dự án Maven đúng phiên bản, hiểu cấu trúc thư mục và chạy HVC Academy trên máy cá nhân.

Chuẩn bị môi trường

Cài JDK 21 rồi kiểm tra java -version và javac -version. IDE và terminal phải dùng cùng JDK: một lỗi phổ biến là IDE biên dịch bằng Java 21 nhưng terminal chạy bằng Java cũ. Maven Wrapper trong mã nguồn giúp dùng bản Maven được ghi lại theo dự án; lần đầu vẫn cần Internet để tải Maven và dependency.

Vào Spring Initializr, chọn Maven, Java, Spring Boot 4.1.1, Java 21, đóng gói JAR; group com.hocvietcode, artifact hvc-academy, package com.hocvietcode.academy. Các nhóm dependency dùng trong bộ bài là Spring Web, Thymeleaf, Validation, Spring Data JPA, Security, H2, MySQL Driver, Flyway, Mail và Actuator. Mã tải về ở mục lục đã có đầy đủ cấu hình và ví dụ, nên có thể chạy trực tiếp thay vì gõ lại toàn bộ từ đầu.

Tệp trong mã nguồn mẫu: pom.xml. Đoạn dưới được trích từ tệp này; xem bản tải về để có đủ import và phần còn lại.

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>4.1.1</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

Đọc cấu trúc trước khi chạy

pom.xml quản lý dependency và cách build. src/main/java chứa Java; src/main/resources chứa cấu hình, template HTML, CSS và migration SQL. src/test chứa kiểm thử. target là đầu ra sinh tự động của Maven, có thể tạo lại và không phải nơi sửa nguồn.

Class HvcAcademyApplication nằm ở package gốc. @SpringBootApplication đánh dấu cấu hình chính và điểm bắt đầu quét component; main gọi SpringApplication.run để tạo context, cấu hình các thành phần rồi khởi động web server nhúng. Đặt Controller hoặc Service ngoài cây package này khiến Spring không tự phát hiện chúng.

Tệp trong mã nguồn mẫu: src/main/java/com/hocvietcode/academy/HvcAcademyApplication.java. Đoạn dưới được trích từ tệp này; xem bản tải về để có đủ import và phần còn lại.

package com.hocvietcode.academy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HvcAcademyApplication {

	public static void main(String[] args) {
		SpringApplication.run(HvcAcademyApplication.class, args);
	}

}

Chạy bản mẫu trên PowerShell

Biến dưới đây chỉ phục vụ tài khoản demo chạy cục bộ; hãy tự chọn một mật khẩu dài ít nhất 12 ký tự. Ứng dụng không chứa mật khẩu demo mặc định. Teacher và student dùng chung biến này để bạn kiểm tra sự khác nhau về quyền, không phải mô hình cấp tài khoản thật.

$env:HVC_DEMO_PASSWORD = Read-Host "Mật khẩu demo cục bộ (ít nhất 12 ký tự)"
.\mvnw.cmd spring-boot:run

Trên macOS/Linux, cấp quyền chạy cho mvnw nếu cần rồi dùng ./mvnw spring-boot:run với biến HVC_DEMO_PASSWORD đã đặt trong shell. Mở http://localhost:8080/courses; vào /login với teacher hoặc student. Bản mặc định dùng H2 trong bộ nhớ, dữ liệu quay về trạng thái ban đầu sau khi dừng tiến trình. Bài MySQL sẽ chuyển sang lưu bền vững.

Biết dừng và kiểm tra đúng chỗ

Đọc dòng log xác nhận ứng dụng đã started trước khi mở trình duyệt. Nếu cổng 8080 đang bận, dừng tiến trình cũ hoặc đặt SERVER_PORT=8081 rồi chạy lại. Ctrl+C dừng ứng dụng. Chạy ./mvnw test hoặc .\mvnw.cmd test để kiểm tra; cấu hình test riêng đã có mật khẩu chỉ dùng cho kiểm thử.

Khi thay phiên bản Boot sau này, nâng có chủ đích, xem migration guide và chạy lại test. Giáo trình cố định một bộ phiên bản để ví dụ nhất quán; không nên thay số phiên bản giữa các bài chỉ vì Initializr đổi mặc định.

Lỗi thường gặp và lưu ý

  • Không chạy lệnh PowerShell trong tệp Java; đây là hai môi trường khác nhau.
  • Không commit giá trị mật khẩu, SMTP hoặc DB thật vào application.properties.

Ghi nhớ

Đầu ra của bài là ứng dụng chạy được, hai tài khoản demo và bộ thư mục nguồn có thể đối chiếu xuyên suốt.

Tài liệu đối chiếu

  • Spring Initializr
  • Maven Wrapper

← Bài 01 · Mục lục 12 chương · Bài 03 →

Bài viết liên quan:

Java và Spring Boot – MVC và REST API
Spring Boot bài 09: Binding biểu mẫu tạo và sửa khóa học
Java và Spring Boot – MVC và REST API
Spring Boot bài 25: Unit test Service với JUnit và Mockito
Java và Spring Boot – MVC và REST API
Spring Boot bài 10: Validation và BindingResult: báo lỗi ngay trên biểu mẫu
Java và Spring Boot – MVC và REST API
Spring Boot bài 26: Integration test MVC, API, database và Security
Java và Spring Boot – MVC và REST API
Spring Boot bài 11: Post/Redirect/Get, flash message và session
Java và Spring Boot – MVC và REST API
Spring Boot bài 27: Logging, Actuator và quản lý schema bằng Flyway
Java và Spring Boot – MVC và REST API
Spring Boot bài 12: JPA Entity, Repository, H2 và migration đầu tiên
Java và Spring Boot – MVC và REST API
Spring Boot bài 28: Đóng gói JAR, Docker và cấu hình triển khai
Java và Spring Boot – MVC và REST API
Spring Boot bài 13: Kết nối MySQL, CRUD và transaction trong Service
Java và Spring Boot – MVC và REST API
Giáo trình Spring Boot MVC và REST API 2026: 12 chương, 28 bài
Java và Spring Boot – MVC và REST API
Spring Boot bài 14: Quan hệ JPA, DTO và tránh truy vấn N+1
Java và Spring Boot – MVC và REST API
Spring Boot bài 15: Tìm kiếm, phân trang và sắp xếp có kiểm soát

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

CSS cơ bản – 20 bài từ HTML đến website responsive với Flexbox, Grid và mobile-first

CSS cơ bản – Bài 05: Đơn vị và kích thước: px, rem, %, min và max

CSS cơ bản – 20 bài từ HTML đến website responsive với Flexbox, Grid và mobile-first

CSS cơ bản – Bài 02: Selector và class: chọn đúng phần tử cần sửa

CSS cơ bản – 20 bài từ HTML đến website responsive với Flexbox, Grid và mobile-first

CSS cơ bản – Bài 01: Kết nối CSS với HTML và sửa quy tắc đầu tiên

CSS cơ bản – 20 bài từ HTML đến website responsive với Flexbox, Grid và mobile-first

CSS cơ bản – Bài 20: Hoàn thiện website và sửa lỗi bằng DevTools

CSS cơ bản – 20 bài từ HTML đến website responsive với Flexbox, Grid và mobile-first

CSS cơ bản – Bài 03: Vì sao CSS không có tác dụng? Cascade và specificity

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×