Spring認証-spring注入セット

6357 ワード

値プロパティを使用して元のデータ型を構成し、Beanプロファイルのタグ付きrefプロパティを使用してオブジェクトリファレンスを構成する方法について説明しました.どちらの場合もbeanに奇異値を渡すことに関連する.
これで、Javaコレクションタイプ(List、Set、Map、Propertiesなど)などの複数の値を渡す場合は、どうすればいいですか.このような状況を処理するために、Springは以下のように4種類の集合構成要素を提供しています.
要素と説明がありません1
これにより、配線、すなわち注入値リストが容易になり、繰り返しが可能になります.
2
これにより、値のセットを接続できますが、重複はありません.
3
これは、名前と値のペアのセットを注入するために使用できます.名前と値は任意のタイプです.
4
これにより、注入名と値が文字列の名前-値ペアのセットになります.
javaに接続するには、またはを使用します.util.Collectionまたは配列の任意の実装.
集合要素の1つとして、(a)伝達集合の直接値と(b)伝達beanの参照の2つのケースに遭遇します.
例では、Eclipse IDEとして機能し、Springアプリケーションを作成するには、次の手順に従います.
ステップ記述1 SpringExampleというプロジェクトを作成し、作成したプロジェクトのsrcフォルダの下にパッケージcomを作成する.tutorialspoint.2外部JARの追加オプションを使用して、Spring Hello Worldの例で説明したように、必要なSpringライブラリを追加します.3 JavaクラスJavaCollectionとMainAppの下comを作成する.tutorialspointパッケージ.4 srcフォルダの下にBeansプロファイルBeansを作成する.xml.5最後のステップは、以下に説明するように、すべてのJavaファイルとBeanプロファイルの内容を作成し、アプリケーションを実行することです.これはJavaCollectionです.JAvaファイルの内容-
package com.tutorialspoint;import java.util.*;
public class JavaCollection { List addressList; Set addressSet; Map addressMap; Properties addressProp;
//a setter method to set List public void setAddressList(List addressList) {
  this.addressList = addressList;

}
//prints and returns all the elements of the list. public List getAddressList() {
  System.out.println("List Elements :"  + addressList);
  return addressList;

}
//a setter method to set Set public void setAddressSet(Set addressSet) {
  this.addressSet = addressSet;

}
//prints and returns all the elements of the Set. public Set getAddressSet() {
  System.out.println("Set Elements :"  + addressSet);
  return addressSet;

}
//a setter method to set Map public void setAddressMap(Map addressMap) {
  this.addressMap = addressMap;

}
//prints and returns all the elements of the Map. public Map getAddressMap() {
  System.out.println("Map Elements :"  + addressMap);
  return addressMap;

}
//a setter method to set Property public void setAddressProp(Properties addressProp) {
  this.addressProp = addressProp;

}
//prints and returns all the elements of the Property. public Properties getAddressProp() {
  System.out.println("Property Elements :"  + addressProp);
  return addressProp;

}}以下はMainApp.JAvaファイルの内容-
package com.tutorialspoint;
import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainApp { public static void main(String[] args) {
  ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
  JavaCollection jc=(JavaCollection)context.getBean("javaCollection");

  jc.getAddressList();
  jc.getAddressSet();
  jc.getAddressMap();
  jc.getAddressProp();

}}以下はプロファイルBeans.xmlです.すべてのタイプのセットの構成が含まれています.
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation = "http://www.springframework.org/schema/beans http://www.springframework.or... d">
  
  
  
     
        INDIA
        Pakistan
        USA
        USA
     
  

  
  
     
        INDIA
        Pakistan
        USA
        USA
     
  

  
  
     
        
        
        
        
     
  
  
  
  
     
        INDIA
        INDIA
        Pakistan
        USA
        USA
     
  

ソースファイルとbeanプロファイルの作成が完了したら、アプリケーションを実行しましょう.アプリケーションが正常に機能している場合は、次のメッセージが印刷されます.
List Elements:[INDIA,Pakistan,USA,USA]Set Elements:[INDIA,Pakistan,USA]ap Elements:{1=INDIA,2=Pakistan,3=USA,4=USA}Property Elements:{two=Pakistan,one=INDIA,three=USA,four=USA}注入Bean引用Bean引用は、以下のBean定義を用いて、bean参照を集合要素の1つとして注入する方法を理解します.次のコードクリップに示すように、参照と値を混在させることができます.
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation = "http://www.springframework.org/schema/beans http://www.springframework.or... d">
  
  
     
        
        
        Pakistan
     
  
  
  
  
     
        
        
        Pakistan
     
  
  
  
  
     
        
        
        
     
  

上記のbean定義を使用するには、setterメソッドをこのように定義して、参照も処理できるようにする必要があります.
nullと空の文字列の値を入力します.値として空の文字列を渡す必要がある場合は、次のように渡すことができます.
前の例はJavaコード:exampleBeanに等しい.setEmail("")
NULL値を渡す必要がある場合は、次のように渡すことができます.
前の例はJavaコード:exampleBeanに等しい.setEmail(null)