Play framework ドキュメント読解メモ-1.主要な概念

チュートリアルを終えたので今度はドキュメントを読み進める。基本的に読んでって気になりそうなところをピックアップしてメモしてくだけの記録になると思うが、場所によっては実践・写経をしたり横展開で調査なども入るかも。

document1:主要な概念

MVC アプリケーションモデル
  • Javaパッケージ構成
    • app/controllers
      • public且つstaticなメソッドはいずれもactionとなるクラス。
      • HTTPリクエストから関連データを抽出
      • モデルを検索or更新
      • HTTPレスポンスにラップされた結果を返す
    • app/models
      • 利用可能な全てのオブジェクト指向特徴を使用するJavaクラスの集合
      • 永続的なストレージに保存する必要がある場合、JPASQLの部品を含ませることも
    • app/views
      • HTML、XMLJSON やその他の、動的にモデルの値を表現する特別なディレクティブを持つテンプレートファイルを保持。
リクエストライフサイクル
  • 完全にステートレスであり、リクエスト/レスポンスのみを重視。
標準的なアプリケーションレイアウト
  • [appディレクトリ]
  • viewディレクト
    • tags:例えば再利用できるテンプレート部品のようなアプリケーションタグを管理。
    • コントローラごとにひとつの view ディレクトリが割り当てられる。
    • 慣例により、コントローラに関連するテンプレートはそれぞれのサブパッケージ内に保持される。
  • [conf ディレクトリ]
    • アプリケーションのためのすべての構成ファイルを含む。
      • application.confファイル
      • このファイル内の設定オプションは Play.configuration.get("propertyName") によってプログラムに読み込まれる。
      • routesファイル
        • ルーティングを定義するファイル。
開発ライフサイクル
  • DEVモード
  • PRODモード
  • Javaデバッガへの接続
  • クラス拡張
    • play.CorePlugin:アプリケーションのクラスに動的にコードを追加するために play.classloading.enhancers パッケージの enhancer を使用
    • play.db.jpa.JPAPlugin:JPA クエリ用のメソッド規約に従って play.db.jpa.JPABase を拡張。

application.confに関してはチュートリアルではそこまで注視してなかったけど、大分色々な事が出来るんだねぇ。全てを一括で把握はし切れないので、読解を進めて行くうえで徐々に理解を深めて行こう。