ホームページ > Java > &#&チュートリアル > Spring Boot チートシート

Spring Boot チートシート

Susan Sarandon
リリース: 2024-11-26 00:37:10
オリジナル
814 人が閲覧しました

Spring Boot Cheat Sheet

Spring Boot チートシート

注釈

Annotation Description Example
@SpringBootApplication Marks a class as a Spring Boot application. Enables auto-configuration and component scanning. @SpringBootApplication
@RestController Indicates that a class provides RESTful endpoints. It combines @Controller and @ResponseBody annotations. @RestController
@RequestMapping Maps HTTP requests to handler methods of RESTful controllers. @RequestMapping("/api")
@Autowired Injects dependencies into a Spring bean. It can be used for constructor, setter, or field injection. @Autowired private MyService myService;
@Component Indicates that a class is a Spring-managed component. It is automatically detected during component scanning. @Component
@Repository Marks a class as a Spring Data repository. It handles data access and persistence logic. @Repository
@Service Marks a class as a service component in the business layer. It is used to separate business logic from presentation logic. @Service
@Configuration Indicates that a class provides bean definitions. It is used along with @bean to define beans in Java-based configuration. @Configuration
@Value Injects values from properties files or environment variables into Spring beans. @Value("${my.property}") private String property;

制御フロー

  1. 初期化: Spring Boot は、アプリケーションのプロパティをロードし、Bean を自動構成することによって開始されます。
  2. コンポーネント スキャン: Spring は、コントローラー、サービス、リポジトリなどのコンポーネントをスキャンします。
  3. Bean の作成: Spring は Bean を作成し、依存関係注入を使用して依存関係を解決します。
  4. リクエスト処理: 受信 HTTP リクエストは、リクエスト マッピングに基づいてコントローラー メソッドにマッピングされます。
  5. 実行: コントローラー メソッドはリクエストを処理し、サービスと対話し、応答を返します。
  6. レスポンスレンダリング: Spring はメソッドの戻り値を適切な HTTP レスポンス (JSON など) に変換します。

推奨されるフォルダー構成

ソース
§──メイン
│ §── ジャワ
│ │ └─ com
│ │ └─ 例
│ │ §── コントローラー
│ │ │ └── MyController.java
│ │ §── サービス
│ │ │ └── MyService.java
│ │ └─ Application.java
│ └── 資源
│ §── application.properties
│ └── テンプレート
│ └──index.html
└── テスト
━─ ジャワ
━──com
└── 例
└── コントローラー
━── MyControllerTest.java

Spring Boot チートシートでのエラー処理

エラー処理は、堅牢なアプリケーションを構築する上で重要な側面です。 Spring Boot は、エラーと例外を適切に処理し、スムーズなユーザー エクスペリエンスを保証するためのいくつかのメカニズムを提供します。

エラーの種類

  • クライアント エラー: 400 Bad Request や 404 Not Found など、無効なクライアント リクエストによって引き起こされるエラー。
  • サーバー エラー: 500 Internal Server Error など、サーバー側で発生するエラー。
  • 検証エラー: 無効な入力またはデータ検証の失敗によるエラー。

エラー処理メカニズム

1. コントローラーのアドバイス

  • @ControllerAdvice: Spring MVC でグローバル例外ハンドラーを定義するために使用されるアノテーション。
  • @ExceptionHandler: コントローラー アドバイス内の特定の例外を処理するために使用されるアノテーション。
  • :
@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(MyException.class)
    public ResponseEntity<ErrorResponse> handleMyException(MyException ex) {
        ErrorResponse response = new ErrorResponse("My error message");
        return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST);
    }

    @ExceptionHandler(Exception.class)
    public ResponseEntity<ErrorResponse> handleException(Exception ex) {
        ErrorResponse response = new ErrorResponse("Internal server error");
        return new ResponseEntity<>(response, HttpStatus.INTERNAL_SERVER_ERROR);
    }
}
ログイン後にコピー

応答エンティティ例外ハンドラ

  • ResponseEntityExceptionHandler: 一般的な Spring MVC 例外を処理するための基本クラス。
  • オーバーライド: handleMethodArgumentNotValid、handleHttpMessageNotReadable などのメソッドをオーバーライドします。
  • :
@ControllerAdvice
public class CustomExceptionHandler extends ResponseEntityExceptionHandler {

@Override
protected ResponseEntity<Object> handleMethodArgumentNotValid(
        MethodArgumentNotValidException ex, HttpHeaders headers, HttpStatus status, WebRequest request) {
    ErrorResponse response = new ErrorResponse("Validation failed");
    return new ResponseEntity<>(response, HttpStatus.BAD_REQUEST);
}

// Other overrides for handling specific exceptions

ログイン後にコピー

3. エラーの属性

  • ErrorAttributes: エラー応答の内容と形式をカスタマイズするために使用されるインターフェイス。
  • DefaultErrorAttributes: Spring Boot によって提供されるデフォルトの実装。
@Component
public class CustomErrorAttributes extends DefaultErrorAttributes {
@Override
public Map<String, Object> getErrorAttributes(WebRequest webRequest, boolean includeStackTrace) {
    Map<String, Object> errorAttributes = super.getErrorAttributes(webRequest, includeStackTrace);
    errorAttributes.put("customAttribute", "Custom value");
    return errorAttributes;
}

}
ログイン後にコピー

プロパティファイルの使用

  • application.properties: サーバー ポート、データベース URL などのアプリケーション全体のプロパティを保存します。
  • カスタム プロパティ ファイル: さまざまな環境のカスタム プロパティ ファイルを定義します (例: application-dev.properties)。
  • プロパティへのアクセス: @Value アノテーションまたは Spring の環境 API を使用してプロパティにアクセスします。

建築プロジェクト

  • Maven: mvn clean install を実行してプロジェクトをビルドし、実行可能 JAR を生成します。
  • Gradle: ./gradlew build を実行してプロジェクトをビルドし、実行可能 JAR を生成します。

追加のトピック

  • Spring Boot スターター: スターターを使用して、プロジェクトに依存関係と自動構成を追加します。
  • ロギング: Logback、Log4j、または Java Util Logging を使用してロギングを構成します。
  • エラー処理: @ControllerAdvice を使用してグローバル例外処理を実装します。
  • テスト: JUnit、Mockito、SpringBootTest を使用して単体テストと統合テストを作成します。

以上がSpring Boot チートシートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート