サンプルコード ダウンロード sastruts-example.zip[21.3 MB] mayaa-example.zip[17.4 MB] portlet-example.zip[13.4 MB] mobylet-example.zip[15.3 MB] 全サンプルコード 一括ダウンロード s2all.zip[67.6 MB] ※サンプルコードはZIP形式で圧縮しています。解凍してご利用ください。 ※サンプルコード 2011/7/8 更新
SAStruts+S2JDBCでアプリケーションを構築するに当たって前調べしたことを纏めてあります。基本的なことからアーキテクトまで広く利用できるようなリンク集&コメントです。 SAStrutsについて 機能について http://sastruts.seasar.org/featureReference.html#SQLFileToDto 採用した理由 http://d.hatena.ne.jp/cypher256/20080419/p13 エンドユーザーの説得方法 http://d.hatena.ne.jp/cypher256/20080419/p14 Service,Actionのインスタンスについて どういう単位でインスタンスが作られているかを押さえておく。 org.seasar.framework.container.creatorを参照 種類 インスタンス定義 自動バインディング
以前、WEB+DB PRESS vol. 41 にて特集2『つらいJavaからたのしいJavaへ Seasar2 サクサク開発 実践カリキュラム』を執筆させて頂きました。 (http://gihyo.jp/magazine/wdpress/archive/2007/vol41) この記事では、プレゼンテーション層にTeeda、データアクセス層にDBFluteというフレームワーク使ってサンプルアプリケーションを作成しました。 今回は、前回と同じ外部仕様、同じデータベースによる サンプルアプリケーションのSAStruts + S2JDBC版を作ってみました。 ただし、現時点では「正常系が動作した」というレベルの完成度です。 前回のサンプルアプリケーションと比較して、以下のような未実装な機能が 多く存在するので注意が必要です。 一部の日付書式 バリデーション 二度押し防止 戻るボタン対策 共通レ
エンティティの結合を検索時に指定することがほとんどなので findByIdやfindAllなんかは実運用では出番があまりないかもです。 AbstractService に次のようなメソッドを用意すれば、結合も汎用的に扱うことができます。 AbstractService.java public class AbstractService<ENTITY> extends S2AbstractService<ENTITY> { public List<ENTITY> findAll(String leftOuterJoin, String orderBy) { return select().leftOuterJoin(leftOuterJoin) .orderBy(orderBy).getResultList(); } public ENTITY findById(Integer id, St
このエントリーではSeasar 2.4.26 から 導入された S2AbstractService について書かせて頂きます。S2AbstractService を活用することで、タイプセーフを保ちつつも、データアクセスロジック関連のソースコードを大幅に減らす効果が期待できます。 S2JDBC の弱点 S2JDBCを使えば、お手軽かつパワフルにデータアクセス処理が実現できます。しかし、生のS2JDBCを野放し状態に使った場合、プロジェクトの規模が少し大きくなると、ソースコードの重複を生みやすくなる問題に直面します。具体的に、次の1件分のデータ取得処理ですら、コピー&ペーストされて複数箇所で使用されてしまいます。 Emp emp = jdbcManager.from(Emp.class).id(empId).getSingleResult(); 対処方法は、共通処理を抽出してメソッド化するこ
HibernateはEntityを中心に考えます。つまり、Javaを中心に考えるということですね。エンティティモデルとERモデルは、一致する必要はなく、それぞれでモデリングして、Hibernateが間をつなぎます。 メリットは、エンティティの設計がデータベースに引きずられることなく、そのドメインを正確に表したものになること。ほとんどのSQLは自動生成するので、SQLを書かなくてもすむこと。 デメリットは、エンティティとデータベースを個別にモデリングする必要があり、二つのモデル間でインピーダンスミスマッチが起きること。また、自動生成されたSQLの効率が悪くなるリスクがあります。継承や遅延ロードによってパフォーマンスが落ちることもあります。 フレームワークががんばっているので、機能が豊富なのですが、その分オーバヘッドがあり、学習コストがかかります。 S2DaoはSQLを中心に考えます。とはいえ
・SAStruts(+S2JDBC)はなぜ大規模開発に向いているのか? http://d.hatena.ne.jp/higayasuo/20071017/1192613847 dewa様が5月のSeasarイベントで作成されたpdf81ページから ですが、いまいちその理由が読み取れませんでした。 SAStrutsは大規模開発に強くて実績のあるStrutsの恩恵を享受できる(コバンザメ作戦?)がゆえに、大規模開発に向いていると考えています。 一般的に語られている『Strutsが大規模開発に強いとする理由』は次のようなものではないでしょうか。 実績が豊富 Strutsを習得している技術者が多くてプロジェクトメンバーを集めやすい Strutsの経験者が多いと、学習コストが低くなる 実行性能(安定性とパフォーマンス)が高い 書籍やネットなどの情報リソースが豊富
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く