Spring Boot は、Spring フレームワークを使用して実稼働対応アプリケーションの開発を簡素化するフレームワークです。アプリケーションを迅速かつ効率的に構築するのに役立つ一連のツールと規約が提供されます。 Spring Boot を使用すると、最小限の構成でスタンドアロンの実稼働グレードのアプリケーションを簡単に作成できます。
このガイドでは、Spring Boot を使用して単純なユーザー CRUD (作成、読み取り、更新、削除) アプリケーションを作成する手順を説明します。また、さまざまな環境間での一貫性を確保するために、アプリケーションを Docker でコンテナ化します。
以下がインストールされていることを確認してください:
Spring Initializr を使用して新しい Spring Boot プロジェクトを生成します:
「生成」をクリックしてプロジェクトをダウンロードし、解凍します。
cd user-crud
src/main/java/com/example/usercrud 内に User.java という名前の新しい Java クラスを作成します。
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; } }
src/main/java/com/example/usercrud 内に UserRepository.java という名前の新しい Java インターフェイスを作成します。
package com.example.usercrud; import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository<User, Long> { }
src/main/java/com/example/usercrud 内に UserController.java という名前の新しい Java クラスを作成します。
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(); } }
次の内容を含む Dockerfile という名前のファイルをプロジェクトのルート ディレクトリに作成します。
# 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"]
まず、Maven を使用してアプリケーションをパッケージ化します。
./mvnw clean package
次に、Docker イメージをビルドします。
docker build -t user-crud .
次のコマンドを使用して Docker コンテナを実行します:
docker run -p 8080:8080 user-crud
http://localhost:8080/api/users にアクセスして、アプリケーションが Docker コンテナ内で正しく実行されていることを確認します。 CRUD エンドポイントをテストするには、curl や Postman などのツールを使用できます。
Spring Boot を使用して単純なユーザー CRUD アプリケーションを作成し、Docker を使用してコンテナ化し、その動作を確認しました。この設定により、さまざまな環境間でアプリケーションを一貫してデプロイおよび管理できるようになり、追加機能でこの例を拡張したり、より大規模なシステムに統合したりできます。
ご質問がありましたらお気軽にお問い合わせください...ハッピーコーディング!
詳細については、以下を参照してください:
以上がSpring Boot と Docker を使用したユーザー CRUD アプリケーションの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。