ファイヤープロジェクト
Spring
SpringはDIを実現し,AOP,他のO/Rマッピングツールや各種フレームワークとの連係が可能なフレームワークである.守備範囲は広いが機能を選択的に導入することが可能で軽量である.とにかく流行っているようなので,調査してみた.
BeansとかBeanFactoryとかContextといった,Springの最も基本的なものに関して調査してみた.
2005-05-05T23:30+09:00   matsu
Springフレームワークは機能的に盛りだくさんのようなので,まず最初に全体を概観してみる.
2005-05-07T00:25+09:00   matsu
BeanFactoryはSpringフレームワークの最も基本的な機能を提供するインタフェースらしいので,まずBeanFactoryを使用してみることから始めてみる.
2005-05-07T13:25+09:00   matsu
前頁ではBeanFactoryはbeanのコンストラクタによってbeanをインスタンス化した.次にBeanFactoryがbeanのFactoryクラスのstaticなFactoryメソッドによってbeanをインスタンス化するように指定する方法を調査してみた.
2005-05-07T14:00+09:00   matsu
前頁ではBeanFactoryはstaticなFacotryメソッド経由でbeanをインスタンス化した.次にBeanFactoryがFactoryクラスをインスタンス化し,そのインスタンス化されたFactoryオブジェクトのインスタンスFactoryメソッドからbeanをインスタンス化するように設定してみる.
2005-05-07T15:30+09:00   matsu
BeanFacotryに対してbeanを指定するのに要素beanの属性id,nameを使用してきたが,nameには一度に複数の名前を指定可能らしい.また要素aliasを使用して文字通りbeanの別名を定義することが可能らしいので試してみた.
2005-05-08T00:00+09:00   matsu
今までのサンプルでも記述してきたが,特に指定しない場合,BeanFactoryが作成するbeanはSingletonとなる.本頁ではSingletonと,そうでない場合の指定方法とその動作を確認する.
2005-05-08T00:30+09:00   matsu
もちろん前頁までのサンプルも,設定ファイルに記述したbeanをプログラムにInjectしていた(プログラム本体のbeanへのDependency Injection).本頁ではさらに設定ファイル内の複数のbean間のDependency Injectionを試してみる.
2005-05-08T16:20+09:00   matsu
前頁ではsetterを使用したDependency Injectionの設定と実装を行った.既存プログラムにSpringを導入する場合等には,コンストラクタを使用するDependency Injectionの設定と実装を行いたい場合も想定されうる.そしてSpringはそれをサポートしているようなので,試してみた.
2005-05-14T15:45+09:00   matsu
beanへ値を設定する要素propertyには,List,Set,Map,Propertiesなどを設定することができる.さらに要素property内で要素beanを配置し,そこで(入れ子の)beanの定義を定義を行うこともできる.こうした要素propertyのいろいろな設定を試してみた.
2005-05-14T22:45+09:00   matsu
Springではbeanのメンバとしてbeanを設定することができる.しかし,含有する側のbeanをSingleton,含有される側のbeanを非Singletonとしたい場合,含有される側をnewするキックをどうするかという問題が発生する.Springではlookup method injectionという仕組みによって,これを容易に実現する方法を提供しているようなので,試してみた.
2005-05-16T22:45+09:00   matsu
Springではあるbeanのあるメソッドをそのbeanの修正はおろか拡張することさえなく差し替えることができるようなので,試してみた.
2005-05-22T22:45+09:00   matsu
要素beanは属性depends-onを指定することで,bean間の依存関係を明示できる.これを使用すると,単純に要素refを使用した場合と,bean生成順序が異なってきて,便利な場合があるかもしれない.
2005-05-31T11:30+09:00   matsu
要素beanの属性autowriteを指定することによって,設定することなく自動的に依存beanをsetしれくれるようなので,試してみた.
2005-05-31T12:30+09:00   matsu
要素beanの属性dependency-checkは,該当beanで設定可能なプロパティが全て設定されているかどうかをチェックしてくれるようなので,試してみた.
2005-06-14T23:20+09:00   matsu
beanが生成された時や,beanが破棄された時に実行するフックメソッドを簡単に実装できるようなので,試してみた.
2005-06-19T13:00+09:00   matsu
あるインタフェースを実装したbeanには,BeanFactoryによって追加的な情報が設定されるらしいので,試してみた.
2005-06-28T00:00+09:00   matsu
bean設定ファイルにて,属性abstractや属性parentを使用することによって,Javaクラスのような継承パターンを実現できる.これを使用すると設定ファイルがすっきりする場合がある.
2005-06-29T22:50+09:00   matsu
今まで,BeanFactoryと言えば,作成してgetBeanメソッド呼び出しをするだけだったが,他のBeanFactoryのメソッドにも触れてみる.
2005-07-11T22:10+09:00   matsu
BeanPostProcessorの実装クラスを作成し,ConfigurableBeanFactoryに登録すると,ConfigurableBeanFactoryがbeanを生成した前後に処理を実行させることができるらしいので,試してみた.
2005-07-16T18:45+09:00   matsu
BeanFactoryPostProcessorは,BeanFactoryをインスタンス化した後に,そのインスタンスを引数にとり,何らかの処理をするものである.アプリケーションの起動後の初期化パターンとして使えることがあると思う.BeanFactoryPostProcessorの一つ,PropertyPlaceholderConfigurerは,設定ファイルであるbeans.xmlでの設定値を更に外部プロパティファイルへと移動することが可能な機能を持つらしいので,BeanFacotryPostProcesssorの挙動確認を兼ねて試してみた.
2005-07-17T12:00+09:00   matsu
PropertyOverwrideConfigurerはBeanFactoryPostProcessorの一つである.プロパティファイルの記述により,beans.xmlの設定を上書きすることができる.
2005-07-17T14:45+09:00   matsu
BeanFactoryの拡張であるApplicationContextは,メッセージをプロパティファイルから読み込んで,上位から指定されたキーで取り出す仕組みを提供している.
2005-07-18T11:30+09:00   matsu
ApplicationContextでは,イベントを伝播する仕組みがあるらしいので,試してみた.
2005-07-18T18:45+09:00   matsu
ApplicationContextを使用すると,リソースの特定をある程度自動化し,リソース種別(ファイルかネットワーク越しデータかなど)を上位から隠蔽できるようなので,試してみた.
2005-07-23T15:30+09:00   matsu
java.beans.PropertyEditorは,String型の値を,実際の何らかの型に変換する際に使用できる.Springでは,これを容易に使用するための仕組みがあるようなので,試してみた.
2005-07-23T23:45+09:00   matsu
PropertyPathFactoryBeanというFactoryBeanを使用すると,プロパティをより簡単に指定,取得できるらしいので,試してみた.
2005-07-24T14:50+09:00   matsu
FieldRetrievingFactoryBeanを使用すると,フィールドをより簡単に指定,取得できるらしいので試してみた.
2005-07-24T21:20+09:00   matsu
MethodInvokingFactoryBeanを使用すると,beanの生成やその前処理の設定が,容易に行えるらしい.
2005-07-26T00:20+09:00   matsu
Bean設定ファイル(ファイヤープロジェクトではbeans.xmlとしてきた)がでかくなった場合は,分割すると管理が容易になる場合がある.この分割方法は,Springでは少なくとも三つあるようなので,試してみた.
2005-07-30T18:50+09:00   matsu
サーブレットではContextLoaderを直接,間接的に使用することによって,WebApplicationContextを初期化,取得することができるらしいので,試してみた.
Springでのメール送信のためのサポートを調査してみた.
2005-08-10T03:00+09:00   matsu
Springのメール送信のための構成を確認し,実際にメール送信してみる.
2005-08-10T19:10+09:00   matsu
SpringはMIMEもサポートしているらしいので,試してみた.
SpringはHibernateとの連係をサポートしているらしいので,調査してみた.
2005-08-11T22:50+09:00   matsu
Springをベースに,O/RマッピングとしてHibernateを使用する際の,基本的な設定とHibernateTemplateを使用したHibernateとの連係方法を調査してみた.
2005-08-12T04:15+09:00   matsu
Springにて,HibernateのDataSourceをJNDIで取得する方法を調査してみた.
2005-08-12T13:45+09:00   matsu
SpringのHibernate連係では,直接Hibernateを操作するサポートクラスとして,HibernateDaoSupportがあるようなので,試してみた.
matsu(C)
Since 2002
Mail to matsu