spring-beanの作用域
1603 ワード
一、何がbeanの役割エリアですか?
一般的には、私たちはスプリング環境の下でビーンを配置します.このビーンは一例です.
つまり、ioc容器はこのbeanノードだけでbeanオブジェクトを作成します.私たちはgetBeanメソッドを呼び出すたびに同じbeanに戻ります.
car類の無参画構造関数を作成して、一言を印刷します.「生まれました.」
設定ファイルの中でbeanノードscopeはこのスコープを設定できます.デフォルトはsingletonです.つまり一例です
作用域をプロトタイプに設定できます.
beanのscope属性を使用して、beanの作用領域を設定します.
singleton:標準値、容器初期時にbeanインスタンスを作成し、容器全体のライフサイクル内にこのbeanだけを作成します.
プロトタイプ:プロトタイプのコンテナ初期化時にビーンのインスタンスを作成せず、要求毎に新しいビーンのインスタンスを作成して返します.
request:プレオブジェクトのrequest
セッション:事前対象のセッション
一般的には、私たちはスプリング環境の下でビーンを配置します.このビーンは一例です.
つまり、ioc容器はこのbeanノードだけでbeanオブジェクトを作成します.私たちはgetBeanメソッドを呼び出すたびに同じbeanに戻ります.
car類の無参画構造関数を作成して、一言を印刷します.「生まれました.」
public car() {
super();
System.out.println(" ");
}
ファイルコードの設定>
main関数テストApplicationContext ac= new ClassPathXmlApplicationContext("ce/beans.xml"); // “ ”
car car1 = (car) ac.getBean("car");
car car2 = (car) ac.getBean("car");
System.out.println(car1 == car2);//true
car 1とcar 2は同じ対象であることを説明します.beanのスコープはデフォルトでは一例です.設定ファイルの中でbeanノードscopeはこのスコープを設定できます.デフォルトはsingletonです.つまり一例です
作用域をプロトタイプに設定できます.
そして結果を見ていますApplicationContext ac= new ClassPathXmlApplicationContext("ce/beans.xml");
car car1 = (car) ac.getBean("car");// “ ”
car car2 = (car) ac.getBean("car");// “ ”
System.out.println(car1 == car2);//false
プロトタイプを配置すると、毎回異なるオブジェクトを作成します.beanのscope属性を使用して、beanの作用領域を設定します.
singleton:標準値、容器初期時にbeanインスタンスを作成し、容器全体のライフサイクル内にこのbeanだけを作成します.
プロトタイプ:プロトタイプのコンテナ初期化時にビーンのインスタンスを作成せず、要求毎に新しいビーンのインスタンスを作成して返します.
request:プレオブジェクトのrequest
セッション:事前対象のセッション