豆インスタンスファクトリメソッドによって作成されました

1.静的ファクトリメソッド

/ **
*静的ファクトリメソッドは:直接Beanインスタンスを返すことができ、クラスの静的メソッドを呼び出します

*
* /

1)staticファクトリ確立するために、
パブリッククラスStaticCarFactory {
(;)プライベート静的な地図<文字列、車> =新しい新車のHashMap <文字列、車>
静的{
cars.put( "アウディ"、新新車( "アウディ"、300000))を;
cars.put( "baoma"、新たな新しい車( "baoma"、500000));
}
//静的ファクトリメソッド
のパブリック静的車getCar(文字列名){
戻りcars.get(名);
}
} 2)プロファイル

<! -静的ファクトリメソッドBeanによって構成され、注意が静的ファクトリメソッドの構成例ではなく、コンフィグレーションBeanの例- >
<! -
クラス属性:静的ファクトリメソッドのポイント完全なクラス名
工場-方法:メソッドが指し工場名前の
コンストラクタ、引数:プラントパラメータがメソッドを渡す必要がある場合は、パラメータのコンストラクタ、引数を設定するために使用される
- >
<豆ID =「CAR1」クラス=「com.mww.spring.factory.StaticCarFactory」=工場法」 getCar ">
<コンストラクタ-Argの値="アウディ「> </のArg-コンストラクタ>
</豆>

2.インスタンスのファクトリメソッド

工場の1)設立

/ **
*インスタンスファクトリメソッド:すなわち、植物自体の例工場の方法を今すぐ作成する必要があり、その後、Beanのインスタンスを返すために、インスタンスのファクトリメソッドを呼び出します
*
*
* /
publicクラスInstanceCarFactory {
プライベート地図<文字列、車>車= NULL;
InstanceCarFactoryパブリック(){
車の新しい新=のHashMap <>();
cars.put( "アウディ"、新新車( "アウディ"、300000));
cars.put( "巴馬"、新新車( "Baoma"、500000) );
}
公共駐車getCar(文字列ブランド){
戻りcars.get(ブランド);
}
}

2)プロフィール

<! -植物の構成の一例- >
<豆ID = "carFactory"クラス= "com.mww.spring.factory.InstanceCarFactory"> </豆>
<! -一例としてBeanを構成するための方法で- >
< ! -
工場-Beanプロパティ:豆のインスタンスファクトリメソッドに点
メソッド名が工場を指す:ファクトリメソッド
コンストラクタ・引数:プラントパラメータがメソッドを渡す必要がある場合は、パラメータを設定するために使用されるコンストラクタ、引数
- >
<=ビーンID "CAR2"ビーンファクトリー= "carFactory"工場METHOD = "getCar">
<コンストラクタ-Argの値= "バマ"> </のArg-コンストラクタ>
</豆>

3.main

パブリッククラスメイン{

パブリック静的無効メイン(文字列[] args){
ApplicationContextのCTX =新しいClassPathXmlApplicationContext( "豆-factory.xml")。
車の車=(車)ctx.getBean( "CAR1");
System.out.println(車)。
車のCaR2 =(車)ctx.getBean( "のCaR2");
System.out.println(のCaR2)。
}

}

おすすめ

転載: www.cnblogs.com/mwwex/p/12070721.html