Hướng Dẫn Lập Trình Spring Boot Cho Người Mới Bắt đầu
Có thể bạn quan tâm
- Tất cả tài liệu
- Java
- Java Basic
- Java Collections Framework
- Java IO
- Java New IO
- Java Date Time
- Servlet/JSP
- Eclipse Tech
- SWT
- RCP
- RAP
- Eclipse Plugin Tools
- XML & HTML
- Java Opensource
- Java Application Servers
- Maven
- Gradle
- Servlet/Jsp
- Thymeleaf
- Spring
- Spring Boot
- Spring Cloud
- Struts2
- Hibernate
- Java Web Service
- JavaFX
- SWT
- Oracle ADF
- Android
- iOS
- Python
- Swift
- C#
- C/C++
- Ruby
- Dart
- Batch
- Database
- Oracle
- MySQL
- SQL Server
- PostGres
- Other Database
- Oracle APEX
- Report
- Client
- ECMAScript / Javascript
- TypeScript
- NodeJS
- ReactJS
- Flutter
- AngularJS
- HTML
- CSS
- Bootstrap
- OS
- Ubuntu
- Solaris
- Mac OS
- VPS
- Git
- SAP
- Amazon AWS
- Khác
- Chưa phân loại
- Phần mềm & ứng dụng tiện ích
- VirtualBox
- VmWare
- Spring Boot là gì?
- Mục tiêu của tài liệu
- Tạo Spring Boot Project
- Một vài giải thích về Spring Boot
- Chạy Spring Boot project
- Spring Boot chạy thế nào?
- Các công nghệ cho tầng View
- Phụ lục: Cấu hình Server
1. Spring Boot là gì?
Spring Boot là một Project nằm trên tầng IO Execution (Tầng thực thi) của Spring IO Framework. Spring Boot là một bước tiếp theo của Spring, để làm cho Spring dễ dàng hơn trong việc thiết lập và phát triển ứng dụng. Với Spring Boot các cấu hình Spring được giảm thiểu tối đa. Spring Boot hỗ trợ các bộ chứa nhúng (embedded containers) điều này cho phép các ứng dụng web có thể chạy độc lập mà không cần phải trên khai lên các Web Server. Bạn có thể dùng spring boot để tạo ứng dụng Java Web chạy bằng command line 'java -jar' hoặc xuất khẩu ra file war để triển khai lên Web Server như thông thường. Spring Boot cung cấp cho bạn một "CLI Tool" để chạy các kịch bản Spring (spring scripts).Spring Boot có thể giải thích một cách đơn giản bởi hình minh họa dưới đây:
Dưới đây là các lợi ích của Spring Boot:- Nó rất dễ dàng để phát triển các ứng dụng dựa trên Spring với Java hoặc Groovy.
- Nó giảm thiểu thời gian phát triển và tăng năng xuất
- Nó tránh việc phải viết nhiều mã nguyên mẫu (boilerplate Code), Annotations và các cấu hình XML.
- Nó dễ dàng để bạn tương tác các ứng dụng Spring Boot với các hệ sinh thái của Spring như Spring JDBC, Spring ORM, Spring Data, Spring Security etc.
- Nó đi theo cách tiếp cận “Nguyên tắc cấu hình mặc định” để giảm thiểu thời gian và nỗ lực cần thiết để phát triển ứng dụng.
- Nó cung cấp các Server nhúng (Embedded HTTP servers) như là Tomcat, Jetty .... để phát triển và test các ứng dụng web nhanh chóng và dễ dàng.
- Nó cung cấp công cụ CLI (Command Line Interface) dể phát triển và test các ứng dụng Spring Boot(Java hoặc Groovy) từ các dòng lệnh (command prompt) rất dễ dàng và nhanh chóng.
- Nó cung cấp rất nhiều các plugin để phát triển và test các ứng dụng Spring Boot nhanh chóng sử dụng các công cụ Build như Maven và Gradle
- Nó cung cấp nhiều plugin để làm việc với các cơ sở dữ liệu nhúng (embedded database) và các cơ sở dữ liệu lưu trữ trên bộ nhớ (in-memory Databases) một cách dễ dàng.
2. Mục tiêu của tài liệu
Tài liệu được viết dựa trên:- Eclipse 4.7 (Oxygen)
- Spring Boot 2.x
Spring Tool Suite (STS)Để xây dựng các ứng dụng Spring Boot trên IDE Eclipse bạn cần phải cài đặt Spring Tool Suite, đây là một Plugin mở rộng hỗ trợ cho lập trình Spring trên Eclipse. Nếu bạn chưa cài đặt, hãy xem hướng dẫn tại đây:
- Cài đặt Spring Tool Suite cho Eclipse
3. Tạo Spring Boot Project
Trên Eclipse tạo một project sử dụng Spring Tool Suite (STS):- File/New/Other...

- Name: HelloSpringBoot
- Group: org.o7planning
- Artifact: HelloSpringBoot
- Package: org.o7planning.hellospringboot


Project đã được tạo ra, dưới đây là cấu trúc mặc định của Project.
pom.xml<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.o7planning</groupId> <artifactId>HelloSpringBoot</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>HelloSpringBoot</name> <description>Hello Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>4. Một vài giải thích về Spring Boot
Ở bước trên bạn vừa tạo ra một Spring Boot Project, hãy xem nội dung pom.xml:pom.xmlCó 3 điểm cần chú ý trong pom.xml (1),(2), (3) như hình minh họa dưới đây, Spring Boot giúp bạn đơn giản hơn trong việc khai báo các thư viện Spring.
spring-boot-starter-parentspring-boot-starter-parent là một project sẵn có trong Spring Boot. Các thư viện phụ thuộc cơ bản đã được khai báo trong spring-boot-starter-parent, project của bạn chỉ cần thừa kế nó. Chỉ cần khai báo <parent> trong file pom.xml của project của bạn.- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent
Bạn có thể ghi đè các phụ thuộc mặc định của Spring Boot. Chủ đề này được nói rõ hơn tại đây:TODOspring-boot-starter-webCác "Starter" khác chỉ đơn giản là cung cấp phụ thuộc mà bạn có khả năng cần thiết khi phát triển một loại hình cụ thể của ứng dụng. Chẳng hạn khi bạn phát triển một ứng dụng web, bạn cần một phụ thuộc spring-boot-starter-web.<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>spring-boot-maven-pluginSpring-boot-maven-plugin là plugin cung cấp các thư viện cần thiết giúp project của bạn có thể chạy trực tiếp mà không cần triển khai trên một Web Server. Nó giúp tạo ra một file jar có thể thực thi (Executable)<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- ... --> </plugins>
5. Chạy Spring Boot project
Ở bước trên bạn đã tạo ra HelloSpringBoot project bởi Eclipse & Spring Tool Suite, và chưa có bất kỳ thay đổi nào. Tất cả mọi thứ được tạo ra mặc định. Bây giờ bạn cần một vài bước để chạy ứng dụng.
Ứng dung HelloSpringBoot của bạn đã chạy, bạn có thể chạy thử đường dẫn:- http://localhost:8080/
Có thông báo lỗi "404 Not found" khi bạn chạy đường dẫn trên, tuy nhiên không có vấn đề gì nghiêm trọng bởi vì project của bạn chưa có bất kỳ trang nào.Tạo file style.css trong thư mục static:
style.cssh1 { color: red; }Và chạy lại ứng dụng với đường dẫn:- http://localhost:8080/style.css

Run Configuration...Bạn có thể thay đổi các thông số cho Server chẳng hạn cổng, contextPath,... Các vấn đề này được đề cập tại phần phụ lục ở cuối tài liệu này.
6. Spring Boot chạy thế nào?
Khi bạn tạo một "Spring Boot Web Appp", có 1 class được tạo ra (generate) bởi công cụ "Spring Tool Suite":- HelloSpringBootApplication
Ứng dụng của bạn được bắt đầu bởi việc thực thi class HelloSpringBootApplication. Class này được chú thích bởi @SpringBootApplication.HelloSpringBootApplication.javapackage org.o7planning.hellospringboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class HelloSpringBootApplication { public static void main(String[] args) { SpringApplication.run(HelloSpringBootApplication.class, args); } }Chú thích @SpringBootApplication là tương đương với việc sử dụng @Configuration, @EnableAutoConfiguration và @ComponentScan với các thuộc tính mặc định của chúng.Như vậy @SpringBootApplication giúp bạn tự động cấu hình Spring, và tự động quét (Scan) toàn bộ project để tìm ra các thành phần Spring (Controller, Bean, Service,...)
7. Các công nghệ cho tầng View
Bài học tiếp theo:- Hướng dẫn sử dụng Spring Boot và Thymeleaf
- Hướng dẫn sử dụng Spring Boot và FreeMarker
- Hướng dẫn sử dụng Spring Boot và JSP
8. Phụ lục: Cấu hình Server
Ở trên bạn đã chạy ứng dụng Spring Boot, bạn có thể thay đổi các các cấu hình Server, chẳng hạn Port, contextPath, ....
Thay đổi Server HTTP Port:
Bạn có thể thay đổi các thuộc tính khác nếu muốn, Eclipse sẽ gợi ý các thuộc tính có thể thay đổi và ý nghĩa của chúng.Các hướng dẫn Spring Boot
- Cài đặt Spring Tool Suite cho Eclipse
- Hướng dẫn lập trình Spring cho người mới bắt đầu
- Hướng dẫn lập trình Spring Boot cho người mới bắt đầu
- Các thuộc tính thông dụng của Spring Boot
- Hướng dẫn sử dụng Spring Boot và Thymeleaf
- Hướng dẫn sử dụng Spring Boot và FreeMarker
- Hướng dẫn sử dụng Spring Boot và Groovy
- Hướng dẫn sử dụng Spring Boot và Mustache
- Hướng dẫn sử dụng Spring Boot và JSP
- Hướng dẫn sử dụng Spring Boot, Apache Tiles, JSP
- Sử dụng Logging trong Spring Boot
- Giám sát ứng dụng với Spring Boot Actuator
- Tạo ứng dụng web đa ngôn ngữ với Spring Boot
- Sử dụng nhiều ViewResolver trong Spring Boot
- Sử dụng Twitter Bootstrap trong Spring Boot
- Hướng dẫn và ví dụ Spring Boot Interceptor
- Hướng dẫn sử dụng Spring Boot, Spring JDBC và Spring Transaction
- Hướng dẫn và ví dụ Spring JDBC
- Hướng dẫn sử dụng Spring Boot, JPA và Spring Transaction
- Hướng dẫn sử dụng Spring Boot và Spring Data JPA
- Hướng dẫn sử dụng Spring Boot, Hibernate và Spring Transaction
- Tương tác Spring Boot, JPA và cơ sở dữ liệu H2
- Hướng dẫn sử dụng Spring Boot và MongoDB
- Sử dụng nhiều DataSource với Spring Boot và JPA
- Sử dụng nhiều DataSource với Spring Boot và RoutingDataSource
- Tạo ứng dụng Login với Spring Boot, Spring Security, Spring JDBC
- Tạo ứng dụng Login với Spring Boot, Spring Security, JPA
- Tạo ứng dụng đăng ký tài khoản với Spring Boot, Spring Form Validation
- Ví dụ OAuth2 Social Login trong Spring Boot
- Chạy các nhiệm vụ nền theo lịch trình trong Spring
- Ví dụ CRUD Restful Web Service với Spring Boot
- Ví dụ Spring Boot Restful Client với RestTemplate
- Ví dụ CRUD với Spring Boot, REST và AngularJS
- Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication
- Bảo mật Spring Boot RESTful Service sử dụng Auth0 JWT
- Ví dụ Upload file với Spring Boot
- Ví dụ Download file với Spring Boot
- Ví dụ Upload file với Spring Boot và jQuery Ajax
- Ví dụ Upload file với Spring Boot và AngularJS
- Tạo ứng dụng Web bán hàng với Spring Boot, Hibernate
- Hướng dẫn và ví dụ Spring Email
- Tạo ứng dụng Chat đơn giản với Spring Boot và Websocket
- Triển khai ứng dụng Spring Boot trên Tomcat Server
- Triển khai ứng dụng Spring Boot trên Oracle WebLogic Server
- Cài đặt chứng chỉ SSL miễn phí Let's Encrypt cho Spring Boot
- Cấu hình Spring Boot chuyển hướng HTTP sang HTTPS
- Tìm nạp dữ liệu với Spring Data JPA DTO Projections
- Các hướng dẫn Spring Cloud
- Các hướng dẫn Java Web Services
- Các hướng dẫn Struts2 Framework
- Các hướng dẫn Java Oracle ADF
- Các hướng dẫn Thymeleaf

Các hướng dẫn Spring Boot
- Cài đặt Spring Tool Suite cho Eclipse
- Hướng dẫn lập trình Spring cho người mới bắt đầu
- Hướng dẫn lập trình Spring Boot cho người mới bắt đầu
- Các thuộc tính thông dụng của Spring Boot
- Hướng dẫn sử dụng Spring Boot và Thymeleaf
- Hướng dẫn sử dụng Spring Boot và FreeMarker
- Hướng dẫn sử dụng Spring Boot và Groovy
- Hướng dẫn sử dụng Spring Boot và Mustache
- Hướng dẫn sử dụng Spring Boot và JSP
- Hướng dẫn sử dụng Spring Boot, Apache Tiles, JSP
- Sử dụng Logging trong Spring Boot
- Giám sát ứng dụng với Spring Boot Actuator
- Tạo ứng dụng web đa ngôn ngữ với Spring Boot
- Sử dụng nhiều ViewResolver trong Spring Boot
- Sử dụng Twitter Bootstrap trong Spring Boot
- Hướng dẫn và ví dụ Spring Boot Interceptor
- Hướng dẫn sử dụng Spring Boot, Spring JDBC và Spring Transaction
- Hướng dẫn và ví dụ Spring JDBC
- Hướng dẫn sử dụng Spring Boot, JPA và Spring Transaction
- Hướng dẫn sử dụng Spring Boot và Spring Data JPA
- Hướng dẫn sử dụng Spring Boot, Hibernate và Spring Transaction
- Tương tác Spring Boot, JPA và cơ sở dữ liệu H2
- Hướng dẫn sử dụng Spring Boot và MongoDB
- Sử dụng nhiều DataSource với Spring Boot và JPA
- Sử dụng nhiều DataSource với Spring Boot và RoutingDataSource
- Tạo ứng dụng Login với Spring Boot, Spring Security, Spring JDBC
- Tạo ứng dụng Login với Spring Boot, Spring Security, JPA
- Tạo ứng dụng đăng ký tài khoản với Spring Boot, Spring Form Validation
- Ví dụ OAuth2 Social Login trong Spring Boot
- Chạy các nhiệm vụ nền theo lịch trình trong Spring
- Ví dụ CRUD Restful Web Service với Spring Boot
- Ví dụ Spring Boot Restful Client với RestTemplate
- Ví dụ CRUD với Spring Boot, REST và AngularJS
- Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication
- Bảo mật Spring Boot RESTful Service sử dụng Auth0 JWT
- Ví dụ Upload file với Spring Boot
- Ví dụ Download file với Spring Boot
- Ví dụ Upload file với Spring Boot và jQuery Ajax
- Ví dụ Upload file với Spring Boot và AngularJS
- Tạo ứng dụng Web bán hàng với Spring Boot, Hibernate
- Hướng dẫn và ví dụ Spring Email
- Tạo ứng dụng Chat đơn giản với Spring Boot và Websocket
- Triển khai ứng dụng Spring Boot trên Tomcat Server
- Triển khai ứng dụng Spring Boot trên Oracle WebLogic Server
- Cài đặt chứng chỉ SSL miễn phí Let's Encrypt cho Spring Boot
- Cấu hình Spring Boot chuyển hướng HTTP sang HTTPS
- Tìm nạp dữ liệu với Spring Data JPA DTO Projections
- Các hướng dẫn Spring Cloud
- Các hướng dẫn Java Web Services
- Các hướng dẫn Struts2 Framework
- Các hướng dẫn Java Oracle ADF
- Các hướng dẫn Thymeleaf
Các bài viết mới nhất
- Dart Stream Single và Broadcast
- Xử lý lỗi trong Dart Stream
- Hướng dẫn và ví dụ Dart Stream
- So sánh đối tượng trong Dart với thư viện Equatable
- Flutter BloC cho người mới bắt đầu
- Xử lý lỗi 404 trong Flutter GetX
- Ví dụ đăng nhập và đăng xuất với Flutter Getx
- Hướng dẫn và ví dụ Flutter NumberTextInputFormatter
- Hướng dẫn và ví dụ Flutter multi_dropdown
- Hướng dẫn và ví dụ Flutter flutter_form_builder
- Hướng dẫn và ví dụ Flutter GetX obs Obx
- Hướng dẫn và ví dụ Flutter GetX GetBuilder
- Từ khoá part và part of trong Dart
- Hướng dẫn và ví dụ Flutter InkWell
- Hướng dẫn và ví dụ Flutter Radio
- Bài thực hành Flutter SharedPreferences
- Hướng dẫn và ví dụ Flutter Slider
- Hướng dẫn và ví dụ Flutter SkeletonLoader
- Chỉ định cổng cố định cho Flutter Web trên Android Studio
- Tạo Module trong Flutter
- Các hướng dẫn Spring Boot
Từ khóa » Java Spring Boot Hướng Dẫn
-
Học Spring Boot Bắt đầu Từ đâu? - Viblo
-
Học Spring Boot Khóa Học Lập Trình Java ...
-
Spring Boot Là Gì ? Học Lập Trình Java Spring Boot Tạo Project Spring Boot
-
Series Hướng Dẫn Spring Boot Căn Bản, Zero To Hero - Kipalog
-
Khóa Học Java Spring Boot 2021 Trong 2 Giờ - YouTube
-
Spring Boot - Hướng Dẫn Java - Huong Dan Java
-
Học Spring Boot
-
[SB0] Series Làm Chủ Spring Boot - Zero To Hero
-
Học Spring Boot Bắt đầu Từ đâu? - Techmaster
-
5 Phút Làm Quen Java Spring Boot
-
Spring Boot - Hướng Dẫn Java
-
[Spring Framework] Hướng Dẫn Học Spring 5 Dành Cho Người Mới ...
-
「Spring Boot #1」 Hướng Dẫn @Component Và @Autowired
Bạn có thể thay đổi các thông số cho Server chẳng hạn cổng, contextPath,... Các vấn đề này được đề cập tại phần phụ lục ở cuối tài liệu này.