2016-10-31 19 views
1
public class ManageVehicles{ 
    @Autowired 
    Vehicle vehicle; 
} 

public inteface Vehicle{  
} 

public class Ferrari implements Vehicle{  
} 

public class Lamborghini implements Vehicle{  
} 

public class Fiat implements Vehicle{  
} 

public class Bmw implements Vehicle{  
} 

UIから私は車両を選択していますので、その車両オブジェクトをドロップダウンリストから選択することをお勧めします。 はManageVehiclesクラス内で宣言された変数 'vehicle'に注入する必要があります。これを達成する方法は?Spring MVCでサブタイプの依存関係を動的に挿入する方法は?

答えて

0

私は車工場のデザインパターンを使用すると、車両を返却することは容易で私はすべてのBeanを設定している場合は、VehicleFactory getVehicleに

public class VehicleFactory { 


    public Vehicle getVehicle(String vehicleType){ 
     if(vehicleType == null){ 
     return null; 
     }  
     if(vehicleType.equalsIgnoreCase("Ferrari")){ 
     return new Ferrari(); 

     } else if(vehicleType.equalsIgnoreCase("Lamborghini")){ 
     return new Lamborghini(); 

     } else if(vehicleType.equalsIgnoreCase("Fiat")){ 
     return new Fiat(); 
     } 

     return null; 
    } 
} 
+0

@Erraabiアヨブを提供し、引数の依存することはあなたが行うことができると思いますSpringの設定ファイルspringコンテナでは、Beanのインスタンスを作成する必要があります。私は から渡されたデータに基づいてオブジェクトを作成するために工場のパターンを使用する場合、このユースケースには春を使用することはないと思います。私は春の機能だけを使用してそれを行う必要があります。だから私は、このユースケースを達成するために春になる方法があるかどうか尋ねなければならなかったのです。 –

+0

はい、私は理解しますが、Spring IoCを使用してVehicleFactoryを作成して注入することはできますが、工場パターンはあなたのケースの解決策の1つと考えています –

+0

まだ答えはわかりません "スプリングIoCを使用しているあなたのVehicleFactory " –

関連する問題