忍者ブログ

技術メモ

Home > ブログ > 記事一覧

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

◆S2Daoの使用方法

  Daoをdiconファイルに定義して、コンテナにコンポーネント定義します。
  S2Dao.NETの機能を利用するためには登録したDaoに対して、
  S2Dao.NETのインターセプターを適用

  【Dao.dicon】
  <components>
    <include path="S2Dao.dicon"/>
    <component class="Example.Dao.IEmployeeDao">
      <aspect>S2Dao.Interceptor</aspect>
    </component>
  </components>

  【S2Dao.dicon】
  <components namespace="S2Dao">
    <include path="Ado.dicon" />
    <component class="Seasar.Extension.ADO.Impl.BasicDataReaderFactory" />
    <component class="Seasar.Extension.ADO.Impl.BasicCommandFactory" />
    <component class="Seasar.Dao.Impl.FieldAnnotationReaderFactory" />
    <component class="Seasar.Dao.Impl.DaoMetaDataFactoryImpl" />
    <component name="Interceptor"
      class="Seasar.Dao.Interceptors.S2DaoInterceptor"/>
  </components>

 

PR

◆C#のアーキテクチャ


  ◇以下の工程で実行される
    C#→(MSIL)→中間コード(JIT)→ネイティブコード
    ※中間コードはOS非依存

◆C#の基礎知識

  ◇初期化
    C# のローカル変数は、使用する前に初期化する必要があります
  ◇var
    varキーワードは、変数の型指定の記述を省略するためのもの(冗長な型記述を省ける)で、
    変数に代入される値の型が右辺から分かる(確実に推測できる)場合には、
    「var <変数名> = ……」と宣言するだけでコンパイラが自動的に
    変数の型を設定してくれる便利な機能
    ※ちなみに、この機能は、後述する匿名型と併せて、 LINQ をより便利に使うためのものであって、
     それ以外の場面では使うべきではない
     なぜなら、冗長な型宣言はエラー耐性になっているからです
  ◇暗黙的配列
    new int[]{1,2,3} ⇒ new[]{1,2,3} と記述できる
  ◇匿名型
    var anonymous=new{X=1,Y=2}; と匿名クラスが記述できる

◆Gof

  ◇Singleton
  →newは非常に負荷が掛かる
  →オブジェクトの生成数を抑制する
  →クラス自体に同時に生成できるオブジェクトの数を
   管理する機能を持たせることができる

◆Seasarの補足

  ◇S2Container読込時に「・・・の依存関係が見つかりません」エラー
    [可能性としてあり得る原因]
    App.configのseasarセクションで、読込assemblyの参照設定がされていない
  ◇S2Container読込時に「class not found」エラー
    [可能性としてあり得る原因]
    App.configのseasarセクションが存在しない
  ◇PrimaryKeyNotFoundRuntimeExceptionエラー
   クラス : Seasar.Dao.PrimaryKeyNotFoundRuntimeException
   メッセージ : 「[EDAO0009]エンティティクラス名」

    実テーブル名とエンティティDTOのアノテーション[テーブル属性]が異なると
    発生するエラー
    Primaryキーが全く設定されていない場合に発生するらしい

◆S2Daoの補足
  ◇EntityDaoの継承
    EntityDaoを継承して利用しようとしても、EntityDaoにもっているメソッドは
    オーバライドしないと使用できない
  ◇Beanアノテーションの設定
    SQLファイル及びProcedureのみを持つDaoにはBeanアノテーション指定不要も可能
◆S2Windowの補足
  ◇[ESSR0073]JScriptException occured, because WinFormMenu1
    diconの設定で起動フォーム関連のクラス名・コンポーネント名の整合性が合わないと発生する
  ◇[ESSR0044]Class not found, details are "InspectS2Window.WinFormM11"
    diconの設定でプロジェクト上に存在しないクラスを指定すると発生する

 

PAGE TOP