springIOCの研究ノート

Springは複数のプロファイルの管理をサポートしています:

<import resource = "daos.xml" />
<import resource = "bizs.xml" />すべてのファイルをインポートします。

テスト時に使用できます

ApplicationContext context =新しいClassPathXmlApplicationContext(
new String [] {"services.xml"、 "daos.xml"});複数のファイルを紹介します

プログラムにBean管理だけが必要な場合は、commons-logging-1.1.1.jar、spring-context.jar、spring-core.jar、spring-beans.jarをインポートします。

Dependency Injectionはプログラム間の結合を減らします。Springはコンストラクタインジェクション、セッタインジェクション、アノテーション注入をサポートしています。

依存性注入のためのパラメータを持つコンストラクタを使用することができます。

<bean name = "foo" class = "xyFoo">
<constructor-arg>
<bean class = "xyBar" />
</ constructor-arg>
<constructor-arg>
<bean class = "xyBaz" />
</ constructor-arg>
</ bean>
一般的なタイプの場合は、次のものを使用できます。

  <bean id = "exampleBean" class = "examples.ExampleBean">
   <constructor-arg type = "int" value = "7500000" />
   <constructor-arg type = "java.lang.String" value = "42" />
 </ bean> 

注入を初期化する。 もちろん、index属性で指定された型よりも具体的です。

Bean参照の多様化:

<idref local = "theTargetBean" />同じプロファイル

<idref bean = "theTargetBean" />複数のプロファイル
<property name = "targetName" value = "theTargetBean" />チェックしない
<property name = "targetName" ref = "theTargetBean" />

違いはチェックしていてチェックしていないことです。

scopeタグと内部Beanのid属性またはname属性は無視されます。 内部Bean は常に匿名であり、 常にプロトタイプ化されています。 内部Beanを内部Beanに同時にインジェクトすることはできません

合併のコレクションをサポートするために同様の方法で書かれたJavaとプログラムのコレクション。

<bean id = "parent" abstract = "true" class = "example.ComplexObject">
<property name = "adminEmails">
<小道具>
<prop key = "administrator"> [email protected] </ prop>
<prop key = "support"> [email protected] </ prop>
</ props>
</ property>
</ bean>
<bean id = "child" parent = "parent">
<property name = "adminEmails">
<! - マージは*子*コレクション定義で指定されています - >
<props merge = "true">
<prop key = "sales"> [email protected] </ prop>
<prop key = "support"> [email protected] </ prop>
</ props>
</ property>
</ bean>
merge = "true"は、マージされたコレクション

pスペース使用:

<bean name = "john-modern"
class = "com.example.Person"
p:name = "John Doe"
p:spouse-ref = "jane" />
私は好きではない、プロンプトしなかった、ハァッ、ハァッ

Beanの読み込みを遅らせたい場合は、 lazy-init = "true"を使用してください。

自動アセンブリを使用すると、構成の量を減らすことができますが、あいまいなアセンブリの振る舞いを避ける必要があります。

構成の宣言的なスコープ:

<bean class = "org.springframework.beans.factory.config.CustomScopeConfigurer">
<プロパティ名= "スコープ">
<map>
<entry key = "thread">
<bean class = "com.foo.ThreadScope" />
</ entry>
</ map>
</ property>
</ bean>
Beanの初期化メソッド、破壊メソッドに指定することができます、spring2.5設定ファイルを開きます<context:annotation-config />

メタアノテーションはクラスを構成できます。

ウェブ以外のアプリケーションではctx.registerShutdownHook()を使用し、iocコンテナを閉じる

カテゴリ:Default 時間:2018-05-14 人気:0

関連記事

Copyright (C) socapnw.com, All Rights Reserved.

Socapnw All Rights Reserved.

processed in 0.307 (s). 11 q(s)