springにおけるFactoryBenにおけるgetObject()方法例解析


本論文で研究したのは主にspringにおけるFactoryBenにおけるgetObject()法の関連内容であり、具体的には以下の通りである。
FactoryBeanインターフェースは、以下の3つのインターフェース方法を定義している。
  • Object getObject():FactoryBenによって作成されたビーンの例を返し、isSingleton()がtrueに戻ると、この例はSpring容器の単一のインスタンスキャッシュに入れる。
  • bootlean isSingleton():FactoryBeanによってビーンを作成する役割領域がsingletonかそれともprototypeかを確定します。
  • Class get Object Type():FactoryBeanに戻ってビーンを作成するタイプ。
  • プロファイル中のclass属性配置の実装クラスがFactoryBernである場合、getBen方式で戻ってくるのはFactoryBern自身ではなく、FactoryBernメソッドで戻ってくるオブジェクトで、FactoryBern()がgeBeatObject(メソッド)を代理しているのと同じです。
    私たちはCarを配置する時、Carの各属性はそれぞれ一つの「property」要素ラベルに対応します。もし私達はこのような方式がいい加減で簡潔ではなく、カンマで区切られた方式で一度にCarのすべての属性のために配置値を制定したいなら、FactroyBeanを編纂することによって目的を達成することができます。
    
    import org.springframework.beans.factory.FactoryBean;
    public class CarFactoryBean implements FactoryBean{
    	private String carInfo;
    	public Stirng getCarInfo(){
    		return carInfo;
    	}
    	public void setCarInfo(String carInfo){
    		this.carInfo=carInfo;
    	}
    	public Object getObject()throws Exception{
    		Car car=new Car();
    		String[]infos = carInfo.split(",");
    		car.setBrand(infos[0]);
    		car.setMaxSpeed(Integer.aarseint(infos[1]));
    		car.setPrice(double.parsedouble(infos[2]));
    		return car;
    	}
    	public Class getObjectType(){
    		return Car.class;
    	}
    	public Boolean isSingleton() {
    		return true;
    	}
    }
    このCarFactoryBeanがあったら、私達は以下の構成ファイルを使ってCal Beanを定義することができます。
    
    <bean id="car" class="com.lxm.fb.carFactoryBean">  
     
         <property name="carInfo" value="  CA72,200,20000.00"/>  
     
    </bean>  
    getBeanを呼び出すと,Springは反射機構により,CarFactoryBeanがFactoryBenのインターフェースを実現していることを発見した。このときSping容器は,インターフェース方式のCarFactoryBen()を呼び出して,工場類の作成の対象に戻る。ユーザーがCarFactoryBeanの例を取得することを望むなら、getBean法を使用する際に、beanNameの前に「&」プレフィックスを明示的に付加する必要がある。
    締め括りをつける
    以上が、springにおけるFactoryBenにおけるgetObject()方法の実例解析のすべての内容についてです。興味のある方は引き続き当駅の他のテーマを参照してください。友達のサポートに感謝します。