#Spring Bootの特徴
兎に角、アノテーションによって他の言語と同じようにサーブレットの存在を無視したプログラミングができるようになっていることが大きな特徴なよう。
アノテーション | 概要 |
---|---|
@ Conponent | DIコンテナにBeanとして登録する最も基本的なアノテーション |
@ Configuration | Bean定義をJavaベースで行うためのアノテーション ※言っている意味わからないので後ほど解説 |
@ Repository | データの保存や読み込みなどを扱うためのクラスを示すアノテーションです。Spring Dataなど使いデータベースを利用する場合には、このアノテーションを指定することで自動的にテーブルにアクセスできるようにするなど、特別な意味を持つケースがあります。 |
@ Controller | MVCのコントローラークラスであることを示すアノテーション。 |
@ Service | ビジネスロジックなどを扱うためのクラスを示すアノテーション。 |
各サブプロジェクトで特別なものとして、これらのアノーテーションを上書きして別のアノテーションが定義される。
アノテーション | 概要 |
---|---|
@ SpringBootApplication | Spring Bootのアプリケーションのmainプログラムを指定するための慣習として利用されるアノテーション |
@ RestController | REST用のコントローラとして登録するためのアノテーション |
@ RestControllerAdvice | 各コントローラで共通の入力データ形式の変換やエラー処理などの共通処理を定義するためのアノテーション。 |
※コーディングの際は@ と アノテーション名の間にはスペース不要
- mavenを利用する場合
-
pom.xlm
ファイルに依存関係のパッケージを記載すると自動的に必要なパッケージを読み込んでくれる -
application.properties
各パッケージで使用する設定をまとめて記載する場所
-
- gradleを利用する場合
- これから使ってみる予定
Entity周りのアノテーション概要
Spring Bootログ周りの設定概要
RestAPI作成時の記載方法
JpaRepositoryの使い方
http://terasolunaorg.github.io/guideline/5.5.1.RELEASE/ja/ArchitectureInDetail/DataAccessDetail/DataAccessJpa.html
さらに条件を加えて検索したいときの利用方法
https://qiita.com/ksh-fthr/items/44ecc0550a77f4280ea7
Spring Bootで定期実行
https://qiita.com/rubytomato@github/items/4f0c64eb9a24eaceaa6e
https://reasonable-code.com/spring-boot-scheduling-tasks/
Spring BootでBatch作成
Spring Boot Actuator
監視、メトリック、監査などの機能を提供するサービス。
導入するだけで、監査、ヘルス、およびメトリックの収集もアプリケーションに自動的に適用。
注意点としては、エンドポイントを認証なしのポイントにおいてしまうとサーバーのセキュリティ情報を公開してしまう危険性をはらんでいるためエンドポイントの公開については、注意して開発を行う必要がある。