Java

Gradle

Spring Boot

実行可能なスタンドアロンのSpringベースのアプリケーションを作成できるフレームワーク。 デフォルトのロギングシステムはlogbackが利用されている→Spring Boot でロギングライブラリをLog4j2にする - Qiita https://spring.pleiades.io/spring-framework/docs/current/reference/html/

  • SpringのDIコンテナーの読み込み @ComponentScan(@SpringBootApplication)のアノテーションがついているクラスのパッケージとその配下のクラスに存在する@Component(またはそれが含まれるアノテーション)がついているクラスを走査し、BeanをDIコンテナに登録する。 https://github.com/kazuki43zoo/spring-study/tree/master/memos/ioc-container

アノテーション

Lombok

アノテーションをつけることでコンパイル時にコードを自動生成するライブラリ 同一のコードを記載することで発生する煩雑さをなくし、コードの可読性を向上させられる

SLF4J

使いたいロギングライブラリをプラグインできるようにするファサード。 SLF4J自体はロギングのインターフェースであり、このインターフェースに対応した実装のロギングシステムを設定で切り替えられる。 共通のインターフェースでロギングライブラリの詳細を知らずとも利用でき、インターフェースが共通なため他のライブラリに切り替えることも容易。

Q&A

  • ビルドツールの違いって何?
  • サーブレットコンテナってなに
    • Java Servletの実行環境。Webコンテナとも呼ばれる
      • Tomcat
      • Jetty
    • Webサーバー→サーブレットコンテナ→サーブレット
    • ビジネスロジック以外の処理を提供してくれたりする
    • Spring Bootの場合、TomCatかなんかがくみこまれてる
  • Spring Bootビルド後のコントローラってどうなってるの。というかルーターの生成かな。
    • Spring boot側が管理してるけど、最初のロードのときにやってんのかな
  • WebサーバーとSpring bootとかの関係性(通信経路)がぴんとこん
  • エラーハンドリングってどうしてるの
    • 一番大本のエラーハンドリングするコントローラがつくれるからそこで任意の例外を補足するか、個別で補足するか