春には、Javaのオブジェクトを作成するには

まず、ディレクトリ構造を提供次のとおりです。

各ファイルのコードは、参照のために以下に提供されます。

UserDynamicFactory.java

1つの パッケージcn.sxt.factory。
2  
3  インポートcn.sxt.vo.User。
4  
5  / ** 
6  7  *
 8   * / 
9  パブリック クラスUserDynamicFactory {
 10      パブリックユーザーのcreateUser(文字列名、int型の年齢){
 11          リターン 新しいユーザー(名前年齢);
12      }
 13 }
コードの表示

UserFactory.java

1つの パッケージcn.sxt.factory。
2  
3  インポートcn.sxt.vo.User。
4  / ** 
5  * 
 6   * / 
7  パブリック クラスUserFactory {
 8      パブリック 静的ユーザーのcreateUser(文字列名、int型の年齢){
 9          リターン 新しいユーザー(名前、年齢)。
10      }
 11 }
コードの表示

User.java

1つの パッケージcn.sxt.vo。
2  
3  
4  パブリック クラスユーザー{
 5      プライベート文字列名。
6      プライベート int型の年齢;
7      パブリックユーザ(){
 8      }
 9      パブリックユーザ(文字列名、int型の年齢){
 10          スーパー()。
11          この .nameの= 名前;
12          この .age = 年齢;
13      }
 14      パブリック文字列のgetName(){
 15          リターン名。
16     }
 17      公共 ボイドのsetName(文字列名){
 18          この .nameの= 名前。
19      }
 20      公共 int型getAge(){
 21          リターン年齢。
22      }
 23      公共 ボイド setAge(int型の年齢){
 24          この .age = 年齢。
25      }
 26      @Override
 27      パブリック文字列のtoString(){
 28          リターン "ユーザー[NAME =" +名+ "年齢=" +年齢+ "]" 29      }
 30 }
コードの表示

beans.xmlの

1 <XMLバージョン= "1.0"エンコード= "UTF-8"?>
 2 <豆のxmlns = "http://www.springframework.org/schema/beans"
 3つの。      のxmlns:XSI =「HTTP:// WWW。 w3.org/2001/XMLSchema-instance "
 4      のxsi:schemaLocationの=" http://www.springframework.org/schema/beans
 5          HTTP:// www.springframework.org/schema/beans/spring-beans.xsd " > 
6      <! -によって参照コンストラクタでオブジェクトを作成する- >
 7      <ビーンID = "U1" クラス = "cn.sxt.vo.User">
 8。          <! -パラメータインデックスにより設定されたパラメータスケールは0から始まり- >
 9          <コンストラクタのArg-指数= "0"値= "ジョー・スミスクレイジー" />
10          <コンストラクタ、引数インデックス= "1"値= "33" />
 11     </ビーン>
 12である      <ビーンID = "U2" クラス = "cn.sxt.vo.User">
 13である          <! - nameは、パラメータ名のパラメータ名によって表されるパラメータを設定する- >
 14          <コンストラクタのArg-名= "名前"値= "ジョー・スミスクレイジー" />
 15          <コンストラクタのArg-NAME = "年齢"値= "33である" />
 16      </ビーン>
 17      <ビーンID = "U3" クラス =「cn.sxt.vo .user ">
 18である          ! -パラメータ・タイプのタイプを示すタイプ・パラメータによって設定されたパラメータ< - >
 19          <コンストラクタのArg-TYPE =" java.lang.Stringで"値="ジョー・スミスクレイジー「/>
 20          <constructor-引数タイプ=「int型」
値= "33" /> 21      </ビーン>
 22      <ビーンID = "U4" クラス= "cn.sxt.vo.User">
 23が          <プロパティ名= "名前"値= "zhangwuji" />
 24          <プロパティ名= "年齢"値= /> "23は"
 25      </豆>
 26です      <! - -静的ファクトリ・オブジェクトの作成- >
 27      <豆を上記ID = "U5" クラス = "cn.sxt.factory.UserFactory" = factory's-方法"のcreateUser">
 28          <タイプ= "java.lang.Stringで"のコンストラクタ-Argで値= "ジョー・スミスクレイジー" />
 29          <コンストラクタのArg-TYPE = "INT"値= "33は" />
 30      </ビーン>
 31である      <! -動的植物によるオブジェクトの作成- >
 32      <ビーンID = "工場" クラス = "cn.sxt.factory.UserDynamicFactory" />
 33     <ビーンID = "U6"工場豆= "工場"ファクトリメソッド= "のcreateUser">
 34          <コンストラクタ、引数のタイプ= "java.lang.Stringで"値= "张三疯" />
 35          <コンストラクタ、引数タイプ= "INT"値= "33" />
 36      </ビーン>
 37 </豆>
コードの表示

SpringTest.java

1  パッケージcn.sxt.spring。
2  
3  インポートorg.junit.Test。
4  インポートorg.springframework.context.ApplicationContext。
5  輸入org.springframework.context.support.ClassPathXmlApplicationContext。
6  
7  インポートcn.sxt.vo.User。
8  
9  パブリック クラスSpringTest {
 10      @Test
 11      公共 ボイドtestHello(){
 12          // 13          のApplicationContext AC = 新しい ClassPathXmlApplicationContext( "beans.xmlの" )。
14
         ユーザーU =(ユーザー)ac.getBean( "U6" );
15          のSystem.out.println(U)。
16      }
 17 }
コードの表示

 

コンストラクタ経由でオブジェクトを作成するにはA.

1.パラメータのインデックス値でパラメータを設定します

<! -コンストラクタによって参照してオブジェクトを作成する- > 
    <ビーンID =「U1」クラス =「cn.sxt.vo.User」> 
        -インデックス0から出発してインデックス・パラメータ<によってパラメータを設定します! - > 
        <コンストラクタのArg-インデックス= "0"値= "ジョー・スミスクレイジー" /> 
        <コンストラクタのArg-率=値= "33は" />」1" 
    </ビーン>

2.パラメータ名を設定します。

<ビーンID = "U2" クラスは = "cn.sxt.vo.User"> 
        <! -パラメータ名によってパラメータを設定するための名前は、パラメータの名前を示している- > 
        <コンストラクタのArg-NAME = "名前"値=「張3狂気"/> 
        <コンストラクタのArg-名="年齢"値=" 33「です/> 
    </豆>

 前記パラメータタイプはによって設定され

<豆IDは= "U3" クラス = "cn.sxt.vo.User"> 
        <! -パラメータ・タイプのタイプを示すタイプ・パラメータによって設定されたパラメータ- > 
        <コンストラクタのArg-TYPE = "java.lang.Stringで"値= "ジョー・スミスクレイジー" /> 
        <コンストラクタのArg-TYPE = "INT"値= "33は" /> 
    </豆>

 

II。コンストラクタのパラメータによってオブジェクトを作成するには

<ビーンID = "U4" クラス = "cn.sxt.vo.User"> 
        <プロパティ名= "名前"値= "张无忌" /> 
        <プロパティ名= "年齢"値= "23" /> 
    </ビーン>

注:コンフィギュレーションパラメータを提供する必要、セットメソッドおよびプロパティに対応しているが

III。静的ファクトリによるオブジェクトを作成するには

静的ファクトリクラス:

/ ** 
 * staticファクトリメソッド
 * staticファクトリオブジェクトによって作成
 * / 
パブリック クラスUserFactory {
     公共の 静的なユーザーのcreateUser(文字列名、int型の年齢){
         返す 新しい新しいユーザー(名前、年齢); 
    } 
}

プロファイル

<! -静的ファクトリを介してオブジェクトを作成- > 
    <上記ID = "U5"ビーンクラス = "cn.sxt.factory.UserFactory" = Factory's-方法"のcreateUser"> 
        <種類のコンストラクタ、引数=「java.lang.Stringでの"値="ジョー・スミスクレイジー"/> 
        33「/>である<コンストラクタのArg型=" INT "=値" 
    </ビーン>

IV。工場による動的オブジェクトを作成するには

動的なファクトリクラス

/ ** 
 *オブジェクトを作成するために、動的工場
 * 
 * / 
パブリック クラスUserDynamicFactory {
     パブリックユーザーのcreateUser(文字列名、int型の年齢){
         返す 新しい新しいユーザー(名前、年齢); 
    } 
}

プロファイル

<! -通过动态工厂来创建对象- > 
    <豆ID = " 工場 " クラス =" cn.sxt.factory.UserDynamicFactory "/> 
    <豆ID =" U6" 工場豆 =" 工場 "工場法= "のcreateUser"> 
        <コンストラクタ、引数のタイプ= "java.lang.Stringで"値= "张三疯" /> 
        <コンストラクタ、引数のタイプ= "INT"値= "33" /> 
    </豆>

 

おすすめ

転載: www.cnblogs.com/Vincent-yuan/p/11247789.html