タグ

diに関するkiyo_hikoのブックマーク (14)

  • 第6回 DIフレームワークGuiceで,さらばXML!:ITpro

    株式会社DTS ネットワーク事業部所属。Struts/Springベースのフレームワークの研究開発を中心に業務を行っている。また,フレームワークの利用や開発プロセスに関する講師も行っている。 株式会社DTS ネットワーク事業プロジェクトマネージャ。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。StrutsIDEコミッタ。著書「まるごとEclipse! Vol.1」(発行:インプレスコミュニケーションズ)。 今回は,米GoogleJavaで開発したDI(Dependency Injection)フレームワーク「Guice(ジュース)」を取り上げます。単体で使用することはもちろん,Webアプリケーションに組み込む方法や,Spring FrameworkやDWRとの連携も解説します。 XML定義ってうれしいですか? Springをはじめとするフレームワークにより

    第6回 DIフレームワークGuiceで,さらばXML!:ITpro
  • 挫折から始まるプログラム開発奮闘記~フルスタックエンジニアを目指して~ String3を使ったDIの入門~SpringFrameworkのダウンロードとDIのサンプル~

    SEとして、数年。。。技術力でべていきたい!! という思いと、なかなか最新の技術はWEBで調べても わからないこともあるってことで、同じように困っている人がいるかも と思い設立しました。 前回、Springフレームワークについて、概要を紹介しました。 Springの中にもいろいろなフレームワークが存在しており、一言で 表現するのは難しいですが、 核になる部分という点でいくと、Dipendency Injection(DI:依存性の注入)と Aspect Oriented Programming(AOP:アスペクト思考プログラミング)が根幹になって、 webアプリの構築やDBアクセスの簡易化等を提供しているフレームワークという事でした。 実装面は、なにも紹介していなかったため、かなりモヤモヤしている方も多いかと思いますので、 まずは、springフレームワークを入手して使ってみるという点で

  • 第3回 Spring開発環境の整備 | DevelopersIO

    よく訓練されたアップル信者、都元です。大変お待たせいたしました。評判がそこそこ良いのは知っていたのですが、AWSネタに押し流されて放置してしまいました。ただ、私のSpring愛は衰えておりませんので、ぼちぼちと続きを書いて行きたいと思います。冷静に見ると5ヶ月も間を開けてしまいましたね。ごめんなさいごめんなさい。というわけで、下記をおさらいの上、読み進んでみてください。(私も読んでから書かないと流れが掴めませんw) 第1回 はじめてのSpring Framework 第2回 Springの様々な設定記述 – AnnotationもJavaもあるんだよ というわけで、前回までは、DIコンテナの考え方や、beanの定義方法 *1等について解説しました。手続き的な記述と宣言的な記述の分離など、思い出して頂けましたでしょうか。 さて今回はちょっと毛色を変えて、Springを使ったJava開発の開発

    第3回 Spring開発環境の整備 | DevelopersIO
    kiyo_hiko
    kiyo_hiko 2013/08/30
    「build.gradleを書き換えた時は、必要に応じてRefreshする」
  • 第2回 Springの様々な設定記述 – AnnotationもJavaもあるんだよ | DevelopersIO

    よく訓練されたアップル信者、都元です。前回は、Springのコードを見ながらDIについて学びました。DIを使うと、「オブジェクトの生成と初期化」という宣言的な記述に親和性の高い情報と、「オブジェクトの利用」という手続き的な記述に親和性の高い情報を分離できることが確認出来ました。 Springはbean(Springの管理下にあるインスタンス)の生成と初期化に関する情報(Configuration metadataと呼びます)をXMLで受け取ります。XMLの一例は前回示した通りですが、このConfiguration metadataは色々な記述方法があります。 p及びcネームスペースの使用によるSpringの設定 XMLの閉じタグが目障りだ、という人がいるようです。では、こんなのはいかがでしょうか。 <?xml version="1.0" encoding="UTF-8"?> <beans

    第2回 Springの様々な設定記述 – AnnotationもJavaもあるんだよ | DevelopersIO
    kiyo_hiko
    kiyo_hiko 2013/08/30
    「完全なJava-basedでもSpringは利用できますが、ググっても資料は多くないし、色々調べる手間も増えると思います。つまり、Springを採用する以上、XMLからは多分逃げられません」
  • 第1回 はじめてのSpring Framework | DevelopersIO

    今やすっかりAWS屋、しかもアプリではなくインフラ寄りのプロダクトばかり触っている都元です。しかし元々はサーバサイドアプリ屋ということで、ボスのAWSへの想いとは裏腹に、ぼちぼちとサーバサイドJavaの話も出して行こうと思っています。 というわけで、Spring Frameworkについて色々書いて行こうと思うのですが、どう考えても1回で終わる内容ではないため、シリーズ形式(連載)とさせて頂きたいと思います。ただ、書くネタは無限にありそうなので、回数は反響に応じて調整しようかな、と思っています。ギブミー・いいね。 Javaフレームワークの世界 Javaはフレームワークがいっぱいあることが利点でもあり欠点でもあります。多くの言語にはデファクトと言えるフレームワークが存在します。あまり知らない分野なので深く触れてヤケドしたくはないのですが、例えばRubyだったらRailsでしょうし、Pytho

    第1回 はじめてのSpring Framework | DevelopersIO
    kiyo_hiko
    kiyo_hiko 2013/08/30
    とても大雑把には、初期化や生成を宣言としてXMLなどに追い出し、Javaコードは実行に専念する…的な理解でいいのだろうか
  • JavaScriptでDIできる Injector.js つくった - mizchi log

    仕事でRobotlegsというAS3のフレームワークを使っているのだけど、DI機構がかっこよかったので、Injectorだけ真似て作ってみた。 mizchi/injector.js · GitHub https://github.com/mizchi/injector.js Robotlegs AS3 Micro-Architecture - Home http://www.robotlegs.org/ 使い方 ConstructorClass.inject に {key:InjectedClass} で実体化するインスタンス名と実体化するクラスを登録する。 CoffeeScriptで違和感無いような記法でチューニングしてある。 class UserModel class X_View Injector.register(@) @inject: model: UserModel Injec

    JavaScriptでDIできる Injector.js つくった - mizchi log
  • なぜDIコンテナを使うのか

    記事は2005年に執筆されたものです。Spring、DI、AOP全般の最新情報は@IT Java Solutuionのカテゴリ「DI×AOP(Spring/Seasarなど)」をご参照ください。 私がDIコンテナを使う理由 前回までで、Spring Framework(以下Spring)やDIの概念について説明してきました。最近では、実際の開発現場でもSpringのようなDIコンテナを利用するケースが増えてきているようです。 現場のエンジニアはDIの“機能”や“役割”は理解できるようです。しかしながら、「なぜそれが必要なのかピンと来ない」「学習してまで導入するほどの効果があるのか疑わしい」という声をよく耳にします。そのほかにも、自分自身はメリットを十分に理解して開発プロジェクトに導入したい気持ちがあるけれど、導入するためには上司や関係者を説得しなくてはならず、どのように説得すればよいか分

    なぜDIコンテナを使うのか
    kiyo_hiko
    kiyo_hiko 2012/07/20
    第三者にDIを導入するメリットを説明できるか、という考え方
  • Javaの勉強をしています。DIコンテナってなんですか?教えてください。

    Javaの勉強をしています。DIコンテナってなんですか?教えてください。

    kiyo_hiko
    kiyo_hiko 2012/07/20
    "Light Weight Java"、か
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • SpringにおけるDIとAOPの基本メモ - oknknicの日記

    的な使い方ベースのメモ。選択肢の詳細は参考文献に詳しくあり。 DI 準備 ApplicationContext.xml(設定ファイル) 各beanの定義:クラス名、インスタンス名、フィールド値設定、など 利用 ApplicationContextのインスタンス取得(※設定ファイル指定。複数ファイル可能) インスタンス名指定でbeanの取得 AOP 準備(ApplicationContext.xml) Adviseを表現するBean 織り込むAdvise: org.aopalliance.intercept.MethodInterceptorを実装したクラス PointCutを表現するBean 正規表現で指定するPointCutとAdvice指定: org.springframework.aop.support.RegexpMethodPointcutAdvisor Weavingを表現

    SpringにおけるDIとAOPの基本メモ - oknknicの日記
  • プログラム間にボタンを掛ける「DI/AOP」(前編)

    「DI(Dependency Injection)」および「AOP(Aspect Oriented Programming)」と呼ばれる技術が注目を集めている。これらはオブジェクト指向プログラミングにおけるプログラムの単位であるクラスを,互いに結び付ける新たな技術である。システムへの機能変更ニーズが高くなり,さらに開発期間が短くなっている開発の現場において,開発の効率化や品質向上を実現する新たな手段として期待されている。まずはオブジェクト指向プログラミングにおける課題を明らかにし,DIやAOPがそれらをどう解決できるのかを見よう。 DIでクラスを容易に付け外す オブジェクト指向プログラミングの一つ目の課題として,「変更時にクラスの修正が必要になる」ことがある。そもそも,オブジェクト指向で開発したプログラムは,オブジェクト指向ではないプログラムと比べ,機能の削除や変更が容易であることが特徴だ

    プログラム間にボタンを掛ける「DI/AOP」(前編)
    kiyo_hiko
    kiyo_hiko 2011/04/27
    DIでテストしやすくなる、メール通知機能を例にとったAOPの機能要件への適用の検討など。
  • DIって本当に必要? - ひがやすを技術ブログ

    DIって当に必要?たまにそう思うときがあります。DIによって開発は当に楽になったのか。 DIのメリットでよく語られることとして、インターフェースと実装を分離し、機能の利用者側はインターフェースを通じて機能を利用することで、実装に直接依存しなくなり、後で実装を変更しても影響を受けなくなるということがあります。 実際後から、実装クラスを変更するということはめったにないので、よくあるのは、テストのために実装クラスをモックに変えることです。 でも、別にそれだけならDIContainerなんていりません。たとえば、次のようにServiceクラスに直接依存したClientがあるとします。 class Client { Service service = new Service(); void setService(Service service) { this.service = service;

    DIって本当に必要? - ひがやすを技術ブログ
  • POJOがしめすアプリケーションの形 (arclamp.jp アークランプ)

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

  • Java開発を変える最新の設計思想「Dependency Injection(DI)」とは:ITpro

    「DIする」,「インジェクション(注入)する」──新しい技術に敏感なソフトウエア開発者たちの間で使われている言葉である。DIとは,「軽量コンテナ」を実現する新しい設計思想Dependency Injection(依存性注入)の略称である。同じ概念をIoC(Inversion of Control,制御の反転)と呼ぶ場合もある(詳細は後述)。「DIする」と言えば開発者の間では通用するぐらいに,この設計思想は注目されているのだ。 DIが注目される理由は簡単だ。ソフトウエア開発者の開発サイクルを大幅に改善するからだ。筆者が司会を担当した「軽量コンテナ」に関するパネル・ディスカッション(注1)では,DIを適用した軽量コンテナ「Spring Framework」のおかげで「睡眠時間が確保できるようになりました」と複数のパネリストが真顔でコメントしたほどである。DIは,それだけ有効な技術なのだ。 注1

    Java開発を変える最新の設計思想「Dependency Injection(DI)」とは:ITpro
    kiyo_hiko
    kiyo_hiko 2011/04/06
    楽になるために学ぶ
  • 1