Springフレームの配置ファイルbeanの配置と使い方

8750 ワード

Springフレームの配置ファイルbeanの配置と使い方
まず、spring依存の設定、spring config.xmlファイルの作成
maven項目を作成した後、mavenのpom.xmlファイルに次のような依存性を追加します.
// Spring     ,     5.2.5   
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.5.RELEASE</version>
    </dependency>
</dependencies>
ideaでは、springフレームを導入した後、直接にウィザードnew->xml configration file->spring configでspringのプロファイルを作成することができます.この文章はbeanの配置を重視します.
scopeのプロパティ
scopeは、beanで定義されたオブジェクトのスコープを指定し、プロトタイププロトタイプモデルとsingleton単一の例モードに分け、その違いは、毎回コアコンテナオブジェクトgetbean()方法によって新しいオブジェクトが得られるかどうかである.scope=「singleton」を指定すると、一例モードでオブジェクトを作成し、毎回作成するのは同じオブジェクトです.また、scope=「prototype」を指定すると、原型モードで異なるオブジェクトが得られます.
init-method,destroy-method属性
init-methodを初期化方法として用いて、エンティティクラスにおける方法を呼び出すことができ、この方法は、エンティティクラスオブジェクトを作成するときではなく、具体的なエンティティクラスの初期化動作に用いることができる.これに対応するのがdestroy-method属性であり、この方法は容器のオブジェクトを廃棄するために呼び出される方法であり、一般的に業務の対象に対する耐久的な操作に用いられる.以下のとおりです
ClassPathXmlApplicationContext classps=new ClassPathXmlApplicationContext("spring0613.xml");
classps.close();
コンテナオブジェクトのclose()において、beanにdestroy-methodを配置すると、destroy-methodで指定された対応エンティティクラスにおける方法が呼び出されます.
lazy-nit属性
怠惰負荷という意味で、lazy-nit=「true」を指定すると、作成対象の操作は対象容器からgetBean()を呼び出す場合だけで、原型モードではデフォルトでは怠惰負荷でオブジェクトを作成しますが、シングルモードではデフォルトでは不精負荷でオブジェクトを作成します.
依存注入の3つの方式
構造方法の方式依存注入
第一の構造方式は自動的に組み立てられています.まず、本体類に該当する構造方法を追加します.参構造方法は無参構造方法でなければなりません.beanのダブルラベルにconstructor-argメソッドを追加し、各属性に該当するname value type属性を追加します.また、beanに自動注入の属性atowire=「construr」を追加する必要があります.次のように
//       
<bean class="com.Student" id="student" scope="singleton" init-method="initstudent" autowire="constructor">
    <constructor-arg name="name" value="  " type="java.lang.String"></constructor-arg>
    <constructor-arg name="age" value="22" type="int"></constructor-arg>
</bean>
//           
public  Student(){
}
//           
public  Student( String  name){
    this.name=name;
}
//           
public  Student(int age,String  name){
    this.name=name;
    this.age=age;
}
構造方法の自動組立が可能です.
property属性を通じて
property属性によりpropertyに属性nameとvalue属性設定を追加することで、属性の初期値に対する自動注入を完了することができ、この方法はクラス下の無参構造法を呼び出してオブジェクトを作成し、属性のgetとset方法によって依存(DI)を注入する.
//       
<bean class="com.Teacher" id="teacher" scope="prototype" init-method="initteacher" destroy-method="destroy" lazy-init="true">
        <property name="age" value="19"></property>
        <property name="name" value="xiaosi"></property>
 </bean>