春の豆のインスタンス化の三つの方法:コンストラクタ、静的工場、工場出荷時のインスタンス

クラスでのJavaの同等の春豆は、豆xmlファイルで設定および管理することができます。

、豆のインスタンス化:

コンストラクタの例は、静的ファクトリがインスタンス、インスタンス・ファクトリをインスタンス。

内容:

ビルダーの例:

XML設定ファイル:

 

一意のID、calss指定されたBean実装クラスは、完全修飾クラス名でなければなりません、あなたは、Bean1.javaファイル内Bean1の「公共のクラスBean1」を右クリックしてコピーQualifiel名が取得選択することができます。使用に注意してください「」区切り。

テスト機能:

XML設定ファイル・パスで定義された最初のテスト機能、あなたはそれが/で区切られたパスであるので、ここでは、COM開始からの注目を得るために右のディレクトリビューのコピーQualifiel名を選択することができます。

その後、豆、得られた機能getBeanインスタンスオブジェクトによって指定されたID、ノート型変換をインスタンス化するために、構成ファイルをロードします。

完全なコード:

パッケージcom.liu.instance.contructor。

パブリック クラスBean1 { 

}
Bean1.java
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> 
< のxmlns = "http://www.springframework.org/schema/beans" 
    のxmlns:XSI = "http://www.w3.org/2001 / XMLスキーマ・インスタンス」
    のxsi:のschemaLocation = "http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd" > 
    < ビーンID = "bean1" クラス= "com.liu.instance.contructor.Bean1" > </ > 
</ >
beans1.xml
パッケージcom.liu.instance.contructor; 

インポートorg.springframework.context.ApplicationContext;
 インポートorg.springframework.context.support.ClassPathXmlApplicationContext、

パブリック クラスInstanceTest { 

    公共 静的 ボイドメイン(文字列[]引数){
         // 定義構成ファイルのパス 
        XMLPath =文字列"COM /劉/インスタンス/コンストラクタ/ beans1.xml" ;
         // インスタンス化するApplicationContextのビーン負荷設定ファイル。
        ApplicationContextの= ApplicationContextの新しい新ClassPathXmlApplicationContext(XMLPath);
         // 上記のクラスで作成されたファイルで見つかった豆、Javaオブジェクトを決定するために、IDの設定ファイルを述べました。
        Bean1 bean1 =(Bean1)applicationContext.getBean( "bean1" )。
        System.out.println(bean1)。
        
    
    } 
}
InstanceTest.java

実行ショット:

 

静的工場の例:

XML設定ファイル:

一意のID、クラスファクトリのクラスは、工場出荷時の方法は、メソッド名、その植物を同定する方法です。

静的ファクトリクラス:

 静的メソッドはBean2オブジェクトを返します。

パッケージcom.liu.instance.static_factory;
 / * 
 * LSQ 
 * 2019年9月10日
 *静的ファクトリは、インスタンス化スプリングをインスタンスBean2 
 * / 
パブリック クラスBean2 { 

}
Bean2.java
パッケージcom.liu.instance.static_factory;
 / * 
 * LSQ 
 * 2019年9月10日
 春のインスタンス化する* staticファクトリ
 * / 

パブリック クラスMyBean2Factory { 

    //はBean2オブジェクトを作成し
    、パブリック 静的Bean2 createBean2(){
         返す 新新)(Bean2を; 
    } 
}
MyBean2Factory.java
パッケージcom.liu.instance.static_factory; 

インポートorg.springframework.context.ApplicationContext;
 インポートorg.springframework.context.support.ClassPathXmlApplicationContext; 

/ * 
 * LSQ 
 * 2019年9月10日
 *スプリング静的工場試験クラスインスタンスオブジェクト
 * / 
パブリック クラスInstanceTest { 

    公共 静的 ボイドメイン(文字列[] AGRSなど){
         // 定義構成ファイルパス 
        文字列XMLPath = "COM /劉/インスタンス/ static_factory / beans2.xml" ;
         //は、対象インスタンス 
        のApplicationContextをApplicationContextの= 新しい新しいClassPathXmlApplicationContext(XMLPath );
         //関数を呼び出す
         // オブジェクトを通過getBean id属性値取得機能 
        (applicationContext.getBean( "bean2"にするSystem.out.printlnを)); 
    } 
}
InstanceTest.java
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> 
< のxmlns = "http://www.springframework.org/schema/beans" 
    のxmlns:XSI = "http://www.w3.org/2001 / XMLスキーマ・インスタンス」
    のxsi:のschemaLocation = "http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd" > 


    < ビーンID = "bean2" クラス= "com.liu.instance.static_factory.MyBean2Factory" 
        ファクトリメソッド= "createBean2" > 
    </ ビーン> 
</ >
beans2.xml

 実行ショット: 

 

工場出荷時のインスタンスの例:

XML設定ファイル:

 最初の二つのBeanの静的ファクトリクラスstaticファクトリクラス。第二は、植物に使用する方法を決定するbean3、ファクトリメソッドプロパティの構成例プラント、工場での方法です。

ファクトリクラス:

 Bean3オブジェクトを返します。

完全なコード:

パッケージcom.liu.instance.factory;
 / * 
 * LSQ 
 * 2019年9月10日
 *スプリング・ファクトリ・オブジェクトの例
 * / 
パブリック クラスBean3 { 

}
Bean3.java
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> 
< のxmlns = "http://www.springframework.org/schema/beans" 
    のxmlns:XSI = "http://www.w3.org/2001 / XMLスキーマ・インスタンス」
    のxsi:のschemaLocation = "http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd" > 


    < ビーンID = "bean2" クラス= "com.liu.instance.static_factory.MyBean2Factory" 
        ファクトリメソッド= "createBean2" > 
    </ ビーン> 
</ >
bean3.xml
パッケージcom.liu.instance.factory;
 / * 
 * LSQ 
 * 2019年9月10日
 *スプリング・ファクトリ・オブジェクトの例
 * / 
パブリック クラスMyBean3Factory { 

    パブリックMyBean3Factory(){ 
        System.out.printlnは(「Bean3植物のインスタンス.. 。 " ); 
    } 
    公共Bean3 createBean3(){
         戻り 新しい新しいBean3を(); 
    } 
}
MyBean3Factory.java
パッケージcom.liu.instance.factory; 

インポートorg.springframework.context.ApplicationContext;
 インポートorg.springframework.context.support.ClassPathXmlApplicationContext; 

/ * 
 * LSQ 
 * 2019年9月10日
 *春のテストクラスをインスタンス化する工場
 * / 
パブリック クラス{InstanceTest3 

    パブリック 静的 ボイドメイン(文字列[]引数){
         // 指定された設定ファイルパス 
        文字列XMLPath =「COM /劉/インスタンス/ファクトリー/ bean3.xml」;
         // ApplicationContextの負荷設定ファイルビーンインスタンス化する 
        のApplicationContextを= ApplicationContextの新しい新ClassPathXmlApplicationContext(XMLPath)。
        
        System.out.println(applicationContext.getBean( "bean3" )); 
    } 
}
InstanceTest3.java

実行ショット:

 

三つの方法の違い:

 

おすすめ

転載: www.cnblogs.com/liushiqiang123/p/11502986.html