【プログラミング】【javaSpringBootの特徴と使い方 - j-komatsu/myCheatSheet GitHub Wiki

Spring Bootの特徴と使い方

目的

Spring Bootを利用して効率的にアプリケーションを開発・運用するための特徴、使い方、環境設定、主要アノテーションについて整理します。


特徴

特徴 説明
簡単なセットアップ 初期設定が最小限で済み、Spring Initializrを利用して簡単にプロジェクトを作成可能。
組み込みWebサーバー Tomcat、Jetty、Undertowが組み込まれ、WARファイルを必要とせずJARファイルとして実行可能。
自動設定(Auto Configuration) 開発者が手動で設定する必要のある多くの部分を自動で設定。
モジュール化された構成 スターターモジュール(例: spring-boot-starter-web)を使用して必要な機能を簡単に追加可能。
プロダクション対応 Actuatorでメトリクスやヘルスチェックを提供。ログやエラーハンドリングも改善。
DevToolsの提供 ホットリロードや自動リスタート機能で開発効率を向上。

使い方

  1. Spring Initializrでプロジェクトを作成

  2. アプリケーションの実行

    @SpringBootApplication
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    
  3. プロパティの設定

    • application.propertiesまたはapplication.ymlで環境設定を行う。
  4. 実行コマンド

    mvn spring-boot:run
    

環境設定

必要なツール 説明
JDK Java Development Kit 8以上を使用。
Maven/Gradle ビルドツールとしてMavenまたはGradleを使用。
IDE IntelliJ IDEAやEclipseを推奨。
データベース MySQLやPostgreSQLなどを利用可能。

主要アノテーション

アノテーション 説明
@SpringBootApplication Spring Bootアプリケーションのエントリーポイントを指定。
@RestController RESTfulなWebサービスを実装するクラスに付与。
@RequestMapping URLとメソッドをマッピング。
@GetMapping HTTP GETリクエストを処理。
@PostMapping HTTP POSTリクエストを処理。
@PutMapping HTTP PUTリクエストを処理。
@DeleteMapping HTTP DELETEリクエストを処理。
@PathVariable URLパスの値を取得。
@RequestParam クエリパラメータを取得。
@RequestBody HTTPリクエストのボディをオブジェクトにマッピング。
@ResponseBody メソッドの戻り値をHTTPレスポンスボディに書き込む。
@Component Springのコンポーネントとして管理されるクラスに付与。
@Service サービス層を示すアノテーション。
@Repository データアクセス層を示すアノテーション。
@Autowired 依存性注入を行う。
@Transactional メソッドまたはクラスにトランザクション管理を適用。
@Configuration 設定クラスとして使用。
@Bean メソッドがSpringコンテナに管理されるBeanを生成することを示す。
@EnableAutoConfiguration Spring Bootの自動設定を有効にする。
@ConditionalOnProperty プロパティの条件に基づいてBeanを構成。
@Value プロパティ値を注入するために使用。
@Async 非同期処理を有効にする。
@Scheduled タスクのスケジュール実行を定義。
@Cacheable キャッシュ可能なメソッドを指定。
@RestClientTest RESTクライアントをテストするためのアノテーション。
@EnableScheduling スケジューリング機能を有効にする。
@EnableCaching キャッシュ機能を有効にする。