とりあえず、DaoはS2Daoに決定した。ライブラリが山ほど追加されたけど、まあ気にしない気にしない。 それと、基本的なディレクトリ構成を決めた。DIContainer付属なのでDI設定ファイル(dicon)が見やすい位置にくるようにDEMOに倣った。
S2Daoに決定したと書いたけど、DBのschemeが変わる事が決まってるので、やっぱりS2Jdbcを使うことにした。 これなら、S2Daoのような命名規則をしらなくても他の人が弄れる。 と言うだけでなく、複雑なSQLを指定して実行する機能は当然あるし、O/Rマッパーな機能はコア機能として実装されてる。 S2DaoとS2Jdbcの違いは、daoを使うかSQLっぽいメソッドを使うかの違いだけっぽい。
S2jdbcはDAOを使わないので、HogeDao.diconのようなものは造らないけれど、datasourceの記述をcomponentとして記述するので、やはりS2Containerは必要っぽい。と言う事は、S2Containerを積極的に使えば、依存性の解決は意外に容易にできるかもしれない。
S2Jdbcに変えてみた。もうね、JDBCの管理ライブラリとして扱うことにしちゃった。SQLっぽいメソッドを使うのは最小限にして、SQLファイルを読み込んで実行って感じで開発していく方が、多分他の人も楽だろうしって理由。
それとは別に、S2Container(DIcontainer)の部分はどうしても容易く出来ないので、多少は覚えてもらう事になりそう。なのでコレを書いた。
DB再設計に絡んでいて、60%は形が決まったけど、残り40%(model部分に依存してるクラス、Service,Entity,Dtoが不完全)が実装しづらいので、該当チケットの修正待ち。
http server
ServletContainerを使わなくても、jsonは読み込み可能だと解ったので以下のような配置に決定。
data server
当分は、情報を引き出す部分だけを作る。その後、変更や削除といった部分を作ろうかと。