タグ

JavaとDIに関するbigbroのブックマーク (10)

  • Seasar2でdiconにアプリ設定を書く - NullPointer's

    「SAStrutsでアプリの設定はどう書く」の続き <component class="java.io.File" name="tmpDir"> <arg>"/tmp"</arg> </component> ognlでシステムプロパティを取り出せるので、例えばTomcatのcatalina.homeを指定出来る <component class="java.io.File" name="tmpDir"> <arg>@java.lang.System@getProperty("catalina.home")</arg> <arg>"tmp"</arg> </component> 以下と同じ File tmpDir = new File(System.getProperty("catalina.home"), "tmp"); Webアプリケーションのディレクトリを指定 <component c

    Seasar2でdiconにアプリ設定を書く - NullPointer's
    bigbro
    bigbro 2012/09/10
    diconファイルを設定ファイルとして使用する
  • SAStrutsでアプリの設定はどう書く? - NullPointer's

    例えばファイル出力先のディレクトリパスなど、アプリケーションの設定をどう書くべきか。propertiesファイルに書いて読み込めばいいと思ったが、そんな必要もなさそう。 コンテナに登録するコンポーネントは、インターフェースを実装したクラスである必要はないのだから、設定値をdiconに書いてコンポーネントとして登録し、Seasar 2.4から追加されたBindingアノテーションを使ってサービスやアクションのコンポーネントにセットしてしまうのが楽そうです。 <component class="java.lang.String" name="hoge"> <arg>"ほげほげ〜"</arg> </component> というのをどこかのdicon、例えばconfig.diconに書いてapp.diconでincludeするなどしてStringをコンポーネントとして登録。そして、その設定値を利用

    SAStrutsでアプリの設定はどう書く? - NullPointer's
    bigbro
    bigbro 2012/09/10
    diconファイルを設定ファイルとして使用する
  • DIは意識させたら負け。 - newta(にゅーた)の日記

  • DIを意識させたらキャズムは超えられない - ひがやすを技術ブログ

    Java でも比較的先進的な考えを持つフレームワークがたくさんあります。そして、先進的なフレームワークは作者でさえ、流行っている、たくさん利用されていると錯覚する場合があります。利用者となるプロジェクトには大抵、新しいことが好きな先進的な人がいて、アーキテクチャを決めてしまいます。そういう人はよくネットなどで情報を発信します。また先進的であれば、記事や書籍でこぞって取り上げられ(もちろん中の人の努力もあります)、流行ってるように見えてしまいます。実際には出来れば新しいことには手をつけたくない人のほうが圧倒的に多いにも関わらず。 どこかの掲示板で、DIは疎結合のためにあるとか、そのためにインターフェースと実装を分離するんだとか、再コンパイルせずに、設定ファイルの変更のみで実装を変更できるんだとか、書いている人を見て、懐かしく思いました。 こんないいもの(たとえばDI)を理解できないのは、理解

    DIを意識させたらキャズムは超えられない - ひがやすを技術ブログ
  • HttpServletRequest が COOL deploy で DI されなくなる - von Ewigkeit

    最近また Seasar で悩みまくってる今日この頃。 というわけで、今日はタイトルのような内容で悩みました。 原因はいまだわからず・・・。 HttpServletRequest のヘッダからある値を取得して、それを利用してゴニョゴニョする、みたいなインターセプタを2つ作る必要が出てきたので、下記のようなものを作りました。 Page クラスにかます ForPageInterceptor と、 S2Dao を利用する Dao クラスにかます ForDaoInterceptor みたいなインターセプタです。 ちなみに ForDaoInterceptor は、HttpServletRequest のある特定の値を引っ張って、INSERT および UPDATE の際に Entity の特定のフィールドに値をセットする、みたいなことを行います。 public class ForPageIntercep

    HttpServletRequest が COOL deploy で DI されなくなる - von Ewigkeit
  • InterceptorにrequestがDIされない - 俎上の鯉

    と同僚が質問してきた。 独自Interceptorを作成し、app_aop.diconにコンポーネントを追加したが、instance属性を指定しなかったため、singletonとしてTomcat起動時に独自Interceptorが生成される。しかしながら、requestは当然リクエスト時に作成されるため、独自Interceptor生成時点ではrequestインスタンスは存在しないため、DIされない。 そのため、instance属性をrequestと指定するように依頼した。そうするとhotdeploy環境ではDIされることが確認できた。 しかし、InterceptorからLogicをDIする設定にしているのだが、DIされない。app_aop.diconにコンポーネントを追加したため、SMART Deployではなくなっていた。InterceptorCreatorにより、interceptor

    InterceptorにrequestがDIされない - 俎上の鯉
  • SAStrutsでアプリケーション設定値をもたせる方法 - ただのおぼえがき

    アプリケーションの設定値、例えばファイルアップロードで使う一時領域のパスやシステムで使う定数などをpropertiesファイルで持たせようかと思ったけど、diconファイルに登録する便利な方法があったので。 SAStrutsのソースディレクトリ(src/main/resource)にconfig.diconファイルを生成し、設定値を管理する。例えば下記のようなString型の名前がsampleで値が”サンプル”を作ってみます。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd"> <!-- サンプル --> <component class="ja

    SAStrutsでアプリケーション設定値をもたせる方法 - ただのおぼえがき
  • POJOがしめすアプリケーションの形 (arclamp.jp アークランプ)

    Javaの世界では、POJOというものが流行している。Plan Old Java Objectの略で、Martin Fowler氏らの造語だ。シンプルで、依存性をなくしたオブジェクトのことをさす。しかし、このPOJOというものをどう捉えるべきか、まだまだはっきりしていないのではないかと感じる。ここでも、僕なりの説明を試みるわけだが、正解といえるかは分からない。ただ、方向性としては間違っていないと思っている。 POJOとは まず、POJOを、もう少し詳しく定義するなら、「自分がするべきことに対して最低限しか知らないオブジェクト」、さらに「実行環境やフレームワークのことは一切知らないオブジェクト」といえるのではないか。たとえば、ビジネスロジックを担当するPOJOであれば、自分のするべきこと、まさにロジックと、そのロジックに必要な他オブジェクトのインターフェース(まさに、interface)し

  • 【ハウツー】Seasar 2.4リリース! 今更でも恥ずかしくない、始めてみようDIプログラミング | エンタープライズ | マイコミジャーナル

    新着記事一覧 やまと、群雄【動】シリーズに『クロノスの大逆襲』からケンリュウが参戦 [02:11 10/13]  ASUS、「ASUS PC Park 2008 Powered by Intel」開幕--大阪で最新製品を体験 [21:55 10/12]  小倉優子「消防団は親父も退治してくれます」 --「地域総合防災力展」が開催 [14:03 10/12]  【レポート】今週の秋葉原情報 - 大容量HDDに注目! 1.5テラが新登場、そして再び8千円切りの1テラも [02:08 10/12]  【インタビュー】「デザイナーがもっと面白く自由になればいい」-クリエイター・長谷川踏太 [21:47 10/11]  仲村みう、生涯"ゴスロリ"宣言 - 「おばあさんになっても続けます!」 [16:25 10/11]  新垣結衣、羽織袴姿で貫禄ポーズ - 映画『フレフレ少女』初日舞台挨拶 [16:0

  • Inversion of Control コンテナと Dependency Injection パターン

    以下の文章は、Martin Fowler の「Inversion of Control Containers and the Dependency Injection pattern」を、かくたにが翻訳したものです。原著者の許可を得て翻訳・公開しています。 翻訳にあたっては、kdmsnr さんにご協力をいただきました。ありがとうございます。公開後の改訂履歴を記事の最後に記述しています。 Java コミュニティでは軽量コンテナが花盛りである。 軽量コンテナは、異なるプロジェクトのコンポーネントをひとまとまりのアプリケーションとして組み立てることを支援する。 このようなコンテナの根底には、コンポーネントの結び付け方についての共通したパターンがある。 そのパターンのコンセプトは「Inversion of Control(制御の反転)」と、まことに包括的な名前で呼ばれている。 記事では、このパタ

  • 1