Dagger is a fully static, compile-time dependency injection framework forJava,Kotlin, andAndroid.It is an adaptation of anearlier versioncreated by Square and now maintained byGoogle. The latest Dagger release is: Dagger 2.55 Daggeraims to address many of the development and performance issues that have plagued reflection-based solutions. More details can be found in this talk (slides) by
準備編で作成したプロジェクト内に新しくクラスを作成します。 SampleNormalUsed.java package sample; /** * DI無し用のテスト用クラス. */ public class SampleNormalUsed { /** * DI無し用のテスト用メソッド. * */ public boolean chackDiSample() { System.out.println("chackDiSampleを実行しました"); return false; } } SampleNormal.java package sample; /** * DIを使用しない場合のメインクラス. * */ public class SampleNormal { /** * DIを使用しない場合のメインメソッド. */ public static void main(String[]
“DI”や“AOP”というキーワードを耳にしたことがあるだろうか。これらのテクノロジは、.NET技術者にはまだまだ普及していないのが現状だが、Java開発での長年の利用結果から見ても開発生産性を飛躍的に高めてくれるテクノロジであることは間違いなく、.NET開発でも必ず役立つものであり、むしろ使わない手はない。従って、できるだけ多くの.NET開発者にこれらのテクノロジの良さを知っていただき、有効に活用していただきたいと筆者は考えている。 そこで本稿では2回にわたり、前編でDIを、後編でAOPを紹介していきたいと思う。本稿を通して.NET開発におけるDIとAOPの有効性と可能性を感じ取っていただければ幸いである。 ■1. DIとAOPを理解するためのサンプルの作成 DI(Dependency Injection。依存注入)とAOP(Aspect-OrientedProgramming。アスペ
.NET 1.0のベータ1から.NET Frameworkに従事してきた.NET開発のエキスパートで、アプリケーションのアーキテクチャ作成と設計と開発で7年以上の経験がある。アジャイルプラクティスと実際的なビヘイビア駆動開発(BDD)テクニックを通じてチームの成功を支援する独立コンサルタントとして活躍している。BDDを.NETに応用する記事をVisual Studio Magazine、DevX、MSDNに寄稿。ポッドキャスト/スクリーンキャストとして人気のある.NET Rocks!とDNRTVに登場したことがあり、実際のデザインパターンというトピックについてMicrosoftのためのウェブキャストを配信。MSDN Canada Speakers BureauおよびMicrosoft Most Valuable Professional(MVP)のメンバ。自分のブログも継続的に更新中。
SeasarでDI体験!日本が誇る純国産先端技術「Seasar」を知っていますか? 今、話題のDI(Dependency Injection)がどんなものか、Seasarで体験してみましょう。 Seasar2とDI ソフトウェアの世界というのは、基本的に米国主導です。Java自体がそうですし、OSも主なアプリケーションも、多くは米国。基本的なソフトウェアの大半を米国に牛耳られているとなっては、どうしても後塵を拝する結果となってしまうのでしょう。 が、そんな中で、純日本産のすばらしい技術を作り出している人たちも確かにいます。Javaの世界で、現在、もっとも注目されている純国産ソフトウェアといえば、「Seasar」でしょう。皆さんも、名前ぐらいは聞いたことがあるのではないでしょうか。 この「Seasar(正確には、Seasar2)」というソフトウェアは一体どういうものか。これは、「DIコンテナ
以下の文章は、Martin Fowler の「Inversion of Control Containers and the Dependency Injection pattern」を、かくたにが翻訳したものです。原著者の許可を得て翻訳・公開しています。 翻訳にあたっては、kdmsnr さんにご協力をいただきました。ありがとうございます。公開後の改訂履歴を記事の最後に記述しています。Java コミュニティでは軽量コンテナが花盛りである。 軽量コンテナは、異なるプロジェクトのコンポーネントをひとまとまりのアプリケーションとして組み立てることを支援する。 このようなコンテナの根底には、コンポーネントの結び付け方についての共通したパターンがある。 そのパターンのコンセプトは「Inversion of Control(制御の反転)」と、まことに包括的な名前で呼ばれている。本記事では、このパタ
Dependency Injection の基本的なアイディア Inversion of Control コンテナと Dependency Injection パターンを読みました。関連する事柄を広くカバーした、隙のない記事です。 ただ、割とボリュームがあるので、「Dependency Injection って結局何なの?」ということを手っ取り早く知りたい向きにはあまり向かないかもしれません。そこで、基本的なアイディアを手短にまとめてみました。 Dependency Injection (依存性注入、DIと略) とはその名の通り、依存性を注入するパターン (テクニック) です。もう少し言葉を加えると、依存性を内部に抱え込まずに外部から注入する、パターンです。 Dependency Injection の基本的なアイディアは「依存性を外部から注入する」です。 DIコンテナと呼ばれるフレームワ
Googleは3月8日(米国時間)、Guiceの初のメジャーリリースとなるGuice 1.0を公開した。GuiceはJavaで開発されたDI(Dependency Injection)フレームワーク。シンプルなアーキテクチャになっており、アノテーションやジェネリックを活用した開発が特徴。Guiceが依存性注入できるのはコンストラクタ、フィールド、メソッドなど。セッターメソッドにかぎらず、複数の引数をとるメソッドに対しても適用できる。そのほかの特徴としてカスタムスコープ、環状依存への対応、スタティックメンバーのインジェクション対応、Spring Frameworkとの統合、AOP Allianceメソッドインターセプションなどがある。Guiceはすでに数カ月にわたり、Googleにおけるミッションクリティカルアプリケーションにおいて採用されている。Google最大のアプリケーションである
デブサミ-VisualBasic, Delphiから10分でJava+Flex2にポーティング http://d.hatena.ne.jp/higayasuo/20070118#1169099987 携帯用のコンテンツを開発するときに、ドコモ、AU、ソフトバンク用にテンプレートは異なるけど、サーバサイドのロジックはいっしょということもあるでしょう。そんなニーズに応えるのが、1ページ複数テンプレート機能です。 例えば、HogePage.javaがあった場合に、hoge_i.html, hoge_a.html, hoge_s.htmlの3つのテンプレートを用意しておきます。HogePage.javaに次のようなdoメソッドがあった場合、次にどのページに遷移するのでしょうか。 public Class doAction() { return Hoge2Page.class; }hoge_i.ht
利用者向け情報 ニュース & Wiki プロダクト一覧 メーリングリスト Eclipseプラグイン Mavenリポジトリ ライセンス 各種リソース イベントサイト ファウンデーションサイト 開発者向け情報 SeasarWiki ソースコードリポジトリ 課題追跡 継続的ビルド 開発者ログイン サーバチームサイトJavaプロジェクト S2Container.Java Seasar2 (S2Container) Presentation.Java Cubby Mayaa mobylet S2BlazeDS S2Flex S2JSF S2OpenAMF S2Portlet S2Struts SAStruts Teeda Ymir Persistence.JavaDBFluteDoma Kuina S2Dao S2Hibernate S2JDBC S2OpenJPA S2TopLink Co
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く