Skip to main content

Command Palette

Search for a command to run...

Bài 2: Khởi tạo User Service

Published
2 min readView as Markdown

Mục tiêu

Mục tiêu của bài này là khởi tạo một dịch vụ User Service và đảm bảo nó có thể đăng ký với Eureka Server.

Hướng dẫn chi tiết

1. Tạo mới Spring Boot Project

Tương tự như khi bạn tạo Eureka Server, sử dụng Spring Initializr để tạo một dự án Spring Boot mới.

  • Project: Maven Project

  • Language: Java

  • Spring Boot: Phiên bản mới nhất

  • Packaging: Jar

  • Java: 11 hoặc phiên bản mới hơn

2. Thêm các Dependency cần thiết vào pom.xml

Mở file pom.xml và thêm vào các dependency sau:

<dependencies>
  <!-- Eureka Client -->
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  </dependency>
  <!-- Spring Web -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <!-- Spring Data JPA -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>
</dependencies>

Đồng thời, cũng đừng quên thêm Spring Cloud version vào pom.xml (nếu bạn chưa thêm):

<properties>
  <spring-cloud.version>Hoxton.SR9</spring-cloud.version> <!-- Sử dụng phiên bản thích hợp -->
</properties>

3. Đăng ký dịch vụ với Eureka

Để đăng ký dịch vụ với Eureka, bạn cần mở class chính (chứa main method) và thêm annotation @EnableEurekaClient hoặc @EnableDiscoveryClient.

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@EnableEurekaClient
@SpringBootApplication
public class UserServiceApplication {
  public static void main(String[] args) {
    SpringApplication.run(UserServiceApplication.class, args);
  }
}

4. Cấu hình application.properties

Cấu hình cổng và Eureka Server URL trong application.properties.

server.port=8081
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

5. Implement một API đơn giản

Ví dụ, chúng ta sẽ tạo một API đơn giản /users để lấy thông tin về user.

Tạo một class model:

@Entity
public class User {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;
  private String name;
  // getters and setters
}

Tạo một UserRepository:

public interface UserRepository extends JpaRepository<User, Long> {
}

Tạo một REST controller:

@RestController
@RequestMapping("/users")
public class UserController {

  @Autowired
  private UserRepository userRepository;

  @GetMapping("/{id}")
  public User getUserById(@PathVariable Long id) {
    return userRepository.findById(id).orElse(null);
  }
}

Bài tập

  1. Chạy dịch vụ User Service bằng cách sử dụng mvn spring-boot:run hoặc từ IDE của bạn.

  2. Truy cập Eureka Server tại http://localhost:8761. Bạn nên thấy User Service đã đăng ký với Eureka.

  3. (Tùy chọn) Dùng Postman hoặc curl để kiểm tra API /users/{id}.

Với các bước này, bạn đã tạo thành công một User Service có khả năng đăng ký với Eureka Server và cung cấp một API đơn giản.

More from this blog

Untitled Publication

218 posts