Spring

strutstestcaseでWebApplicationContext

SpringのStruts連携の一つの方法である、org.springframework.web.struts.ActionSupportを使った時のテスト。 何も設定をしないと、getWebApplicationContext()でnullが返されてしまうので自分で設定する必要がある。 public class TestTargetActionTest ext…

一括更新

O/Rで一括更新などするのは邪道・・・というのはともかく、メンテ機能など作ろうとするとどうしても必要にはなる。 Hibernate3系ならばHQLを利用して一括更新するのが手っ取り早いかもしれない。 オリジナルはここ Session session = sessionFactory.openSes…

悩みどころ

DIな設計思想から行くと、こんな実装になることが。 public interface Hoge{ List getList(); } public class HogeImplA implements Hoge{ private List<ClassA> list; List<ClassA> getList(){ return list; } } public class HogeImplB implements Hoge{ private List<ClassB> list</classb></classa></classa>…

forgot to call close()

criteriaを使用しているクラスのテストで以下の警告がでていた。 Running hoge.HogeDaoTest [WARN] ConnectionManager - unclosed connection, forgot to call close() on your session? (略) Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time ela…

contextのclose()

テストで利用するcontextは今までorg.springframework.context.ApplicationContextを使っていた。 が、org.springframework.context.ConfigurableApplicationContextというものもあるらしい。 こちらだとcontext.close()を使うことができる。

いつでも悩むJavaのパス

テスト用のコンテキストを作成するのに、どうしてもパスが通らなくて放置していたのだけど。 ApplicationContext context = new FileSystemXmlApplicationContext(〜SpringのXMLファイル); ふとorg.springframework.context.support.FileSystemXmlApplicatio…

show_sqlの出力制御

hibernateの「3.5. オプションの設定プロパティ」*1のうち、「hibernate.show_sql」をlog4jで制御できるかと思ったのだが。 net.sf.hibernate.impl.BatcherImpl*2 private void log(String sql) { sqlLog.debug(sql); if ( factory.isShowSqlEnabled() ) Sys…

AOP導入

前々から興味はあったけれども、なかなか手を付けてこなかった分野かな。 Actionクラスの中で、画面制御をするのにTokenを使うのはよくある手段だと思う。 これまではAbstractActionにメソッドを用意しておいて、実装クラスのexecute()の先頭で毎回読んでい…

複合Keyを利用したときのHibernateSystemException()

composite-idで複合Keyを設定してみた。 この時にExceptionが延々とでていた。 org.springframework.orm.hibernate.HibernateSystemException: identifier of an instance of hoge.entity.Users altered from hoge.entity.Users@146b6db[userId=3456789012,u…

Oracle-TimeStampをDbUnitでテストする

OracleでTimeStampを使うとこんなログがでる。 WARNING - USER.REGIST_DATE data type (1111, ‘TIMESTAMP(6)’) not recognized and will be ignored. See FAQ for more information. また、テストデータにTimeStampの日付を追加すると、エラーになる。 org.d…

使ってみよう。・・・その2

前回うまくいったはずが、とんだオチが残っていた。ここ*1を参考にしつつ、まずは継承元を変更。 extends DatabaseTestCase そうすると継承していないメソッドがあるので、追加する。 /* (non-Javadoc) * @see org.dbunit.DatabaseTestCase#getConnection() …

使ってみよう。

課題を残しつつも、どんどん進んでいこう。 まずはぐぐってみる*1。 ここのページ*2はEclipseを入れたときにも参考にしたところだな*3。 1.DBUnitの入手*4 Ver2.1をダウンロード2.解凍して、プロジェクトのlibフォルダに格納する3.各種ドライバのセッ…

Struts+SpringでSpringをそれらしく使う

試行錯誤して、ある日ふと閃いた方法。というかはよ気がつけよ、と思ったのも事実だが・・・。 お約束の層分け ・web層 ・・・ActionクラスとかStrutsまわり ・app層 ・・・POJOによるビジネスロジック ・domain層 ・・・DBアクセスを管理 目的 「web-app層…

Spring Framework

雑用がいろいろあるので、後輩に技術検証まかせているが・・・Tomcato+Hibernateまではなんとか。設計のためのアーキテクチャもおおよそは把握できた(実装は楽になるとは思うけど)。 ただ、Eclipse+Hibernate+Springだとどうもうまく動かない。SQLエラー…