Rumah > Java > javaTutorial > Membina Aplikasi CRUD Pengguna dengan Spring Boot dan Docker

Membina Aplikasi CRUD Pengguna dengan Spring Boot dan Docker

WBOY
Lepaskan: 2024-09-07 06:33:38
asal
789 orang telah melayarinya

Building a User CRUD Application with Spring Boot and Docker

pengenalan

Spring Boot ialah rangka kerja yang memudahkan pembangunan aplikasi sedia pengeluaran menggunakan rangka kerja Spring. Ia menyediakan satu set alat dan konvensyen untuk membantu anda membina aplikasi dengan cepat dan cekap. Dengan Spring Boot, anda boleh membuat aplikasi gred pengeluaran yang berdiri sendiri dengan mudah dengan konfigurasi minimum.

Panduan ini akan memandu anda membuat aplikasi CRUD Pengguna (Buat, Baca, Kemas Kini, Padam) yang mudah menggunakan Spring Boot. Kami juga akan menyimpan aplikasi dengan Docker untuk memastikan konsistensi merentas persekitaran yang berbeza.

Prasyarat

Pastikan anda telah memasang yang berikut:

  • Java JDK 11 atau lebih tinggi
  • Maven
  • Pelabuh
  • Git

Langkah 1: Cipta Projek But Spring Baharu

Hasilkan Projek

Gunakan Spring Initializr untuk menjana projek Spring Boot baharu:

  • Projek: Projek Maven
  • Bahasa: Jawa
  • But Musim Bunga: 3.2.0
  • Kumpulan: com.contoh
  • Artifak: crud pengguna
  • Pergantungan: Spring Web, Spring Data JPA, H2 Pangkalan Data

Klik "Jana" untuk memuat turun projek, kemudian nyahzipnya.

Navigasi ke Direktori Projek

cd user-crud
Salin selepas log masuk

Langkah 2: Tentukan Entiti Pengguna

Buat Kelas Entiti

Buat kelas Java baharu bernama User.java di dalam src/main/java/com/example/usercrud:

package com.example.usercrud;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;
    private String email;

    // Getters and Setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
Salin selepas log masuk

Langkah 3: Buat Repositori Pengguna

Buat Antara Muka Repositori

Buat antara muka Java baharu bernama UserRepository.java di dalam src/main/java/com/example/usercrud:

package com.example.usercrud;

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}
Salin selepas log masuk

Langkah 4: Buat Pengawal Pengguna

Buat Pengawal REST

Buat kelas Java baharu bernama UserController.java di dalam src/main/java/com/example/usercrud:

package com.example.usercrud;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Optional;

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

    @Autowired
    private UserRepository userRepository;

    @PostMapping
    public ResponseEntity<User> createUser(@RequestBody User user) {
        User savedUser = userRepository.save(user);
        return new ResponseEntity<>(savedUser, HttpStatus.CREATED);
    }

    @GetMapping
    public List<User> getAllUsers() {
        return userRepository.findAll();
    }

    @GetMapping("/{id}")
    public ResponseEntity<User> getUserById(@PathVariable Long id) {
        Optional<User> user = userRepository.findById(id);
        return user.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build());
    }

    @PutMapping("/{id}")
    public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User user) {
        if (!userRepository.existsById(id)) {
            return ResponseEntity.notFound().build();
        }
        user.setId(id);
        User updatedUser = userRepository.save(user);
        return ResponseEntity.ok(updatedUser);
    }

    @DeleteMapping("/{id}")
    public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
        if (!userRepository.existsById(id)) {
            return ResponseEntity.notFound().build();
        }
        userRepository.deleteById(id);
        return ResponseEntity.noContent().build();
    }
}
Salin selepas log masuk

Langkah 5: Buat fail Docker

Tambah fail Docker

Buat fail bernama Dockerfile dalam direktori akar projek anda dengan kandungan berikut:

# Use a base image with Java 11
FROM openjdk:11-jdk-slim

# Set the working directory
WORKDIR /app

# Copy the jar file from the target directory
COPY target/user-crud-0.0.1-SNAPSHOT.jar app.jar

# Expose port 8080
EXPOSE 8080

# Run the application
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
Salin selepas log masuk

Bina Imej Docker

Pertama, bungkus aplikasi anda dengan Maven:

./mvnw clean package
Salin selepas log masuk

Kemudian bina imej Docker:

docker build -t user-crud .
Salin selepas log masuk

Langkah 6: Jalankan Kontena Docker

Jalankan Bekas

Gunakan arahan berikut untuk menjalankan bekas Docker anda:

docker run -p 8080:8080 user-crud
Salin selepas log masuk

Sahkan Permohonan

Lawati http://localhost:8080/api/users untuk memastikan aplikasi berjalan dengan betul dalam bekas Docker. Anda boleh menggunakan alatan seperti curl atau Postman untuk menguji titik akhir CRUD.

Kesimpulan

Anda telah berjaya mencipta aplikasi CRUD Pengguna yang mudah dengan Spring Boot, menyimpannya menggunakan Docker dan mengesahkan operasinya. Persediaan ini membolehkan anda menggunakan dan mengurus aplikasi anda secara konsisten merentas persekitaran yang berbeza, anda boleh melanjutkan contoh ini dengan ciri tambahan atau menyepadukannya ke dalam sistem yang lebih besar.
Jangan ragu untuk menghubungi soalan anda... Selamat Mengekod!

Untuk maklumat lanjut, rujuk:

  • Dokumentasi Spring Boot
  • Dokumentasi Docker

Atas ialah kandungan terperinci Membina Aplikasi CRUD Pengguna dengan Spring Boot dan Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan