1. Yêu cầu cài đặt
-
- Cài đặt JDK 17+ nếu chưa thì cài đặt JDK
- Install Maven 3.5+ nếu chưa thì cài đặt Maven
- Install IntelliJ nếu chưa thì cài đặt IntelliJ
2. Tạo mới Spring Boot project
– Tạo mới project tại Spring Initializr theo ảnh phía dưới:
3. Kiến trúc project
. ├── README.md ├── pom.xml └── src ├── main │ ├── java │ │ └── vn │ │ └── tayjava │ │ ├── TayJavaApplication.java │ │ ├── controller │ │ │ └── HelloWorldController.java │ │ ├── dto │ │ │ └── UserRequestDTO.java │ │ ├── model │ │ ├── repository │ │ └── service │ └── resources │ ├── application.properties │ ├── application.yml │ ├── banner.txt │ ├── static │ └── templates
4. Sample Code
– pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
– UserRequestDTO.class
public class UserRequestDTO implements Serializable { private String firstName; private String lastName; private String email; private String phone; // constructor // getter and setter }
– HelloWorldController.class
package vn.tayjava.controller; import org.springframework.web.bind.annotation.*; import vn.tayjava.dto.UserRequestDTO; @RestController @RequestMapping("/user") public class HelloWorldController { @PostMapping("/") public String addUser(@RequestBody UserRequestDTO user) { return "User added"; } @PutMapping("/{userId}") public String updateUser(@PathVariable int userId, @RequestBody UserRequestDTO user) { System.out.println("Update user"); return "User updated"; } @PatchMapping("/{userId}") public String updateStatus(@PathVariable boolean enable) { return "User Status changed"; } @DeleteMapping("/{userId}") public String deleteUser(@PathVariable int userId){ return "User deleted"; } @GetMapping("/{userId}") public UserRequestDTO getUser(@PathVariable int userId) { return new UserRequestDTO("Tay", "Java", "admin@tayjava.vn", "0123456789"); } } - Video hướng dẫn trên Youtube:
5. Source code
⇒ Xem source code
⇒ Lấy source code
$ git clone https://github.com/luongquoctay87/tayjava-sample-code.git $ git checkout bai-2-hello-world-application