circumflexでyabeを作成 - Day0 (Starting up the project)
プロジェクトの作成
git clone git@github.com:sassunt/circumflex-sbt-quickstart.git
giter8を使用したい場合は、
g8 sassunt/circumflex
アプリケーションの起動
sbt container:start
ブラウザからhttp://localhost:8080を指定しましょう。
it works! と表示されれば成功です。
では、ルーティングを行っている部分を見てみましょう。
ルーティングを行うクラスはどのクラスであるかは、src/main/resources/cx.propertiesファイルに記載されています。
cx.router=com.example.MyRouter
それでは、指定されているクラスを見てみましょう。
class MyRouter extends Router { get("/") = "<h1>it works!</h1>" ...
ここでは、"/"ルートに対してGETリクエストを受け取った場合に、起こす処理を記述しています。
このようにRouterクラスを継承したクラスでは、リクエストの種類とパスによって、
行う処理を振り分けることになります。
さきほどのルーティングでは、HTMLを返していましたが、
circumflexは、FreeMarkerとscalateをサポートしており、テンプレートエンジンを使用することは可能です。
ただし、scalateのサポートはcircumflex2.1までしか行っておらず、2.2以降でscalateを使用する場合は、
ServletRenderContext.viewなどを使用する必要があります。*1
(参照:https://github.com/inca/circumflex/blob/release-2.2/CHANGELOG.md)
DBの設定
yabeを作り始める前に、DBの設定を行っておきましょう。
今回はH2DBを使用します。
まずは、build.sbtに下記の内容を追加しましょう。
libraryDependencies += "com.h2database" % "h2" % "1.3.164"
そして、さきほどルーティングを行うクラスを指定したcx.propertiesにDBの情報を記載する必要があります。
orm.connection.driver=org.h2.Driver orm.connection.url=jdbc:h2:mem:yabe orm.connection.username=sa orm.connection.password=
以上で必要な設定は終わりです。
次回はモデルについて説明します。
*1:yabe Day2では、サポートされたものを使用せず、scalateを個別で導入し使用します。