2.spring:コレクション属性

11350 ワード

1.list 
javaを構成します.util.Listタイプの属性は、ラベルを指定する必要があります.ラベルにはいくつかの要素が含まれています.これらのラベルは、単純な定数値を指定することで、Beanへの参照を指定することで、内蔵のBean定義を指定することで、空の要素を指定することで、他のコレクションにネストできることを意味します.
 Person.java
public class Person {
    private String name;
    private int age;
    private List cars;
  //setter...
}

 applicationContext.xml

"person3" class="com.MrChengs2.Collection.Person">
    "name" value="Mike">
    "age" value="24">
    "cars">
        
        class="com.MrChengs1.HelloSpring.car" p:brand="XinXin" p:corp="AnHui"
           p:maxSpeech="100" p:price="12345">
<ref bean="car"/> <ref bean="car1"/>

テスト:
           Person p = (Person) ctx.getBean("person3");
           System.out.println(p);
Person [name=Mike, age=24, cars=[car [brand=XinXin, corp=AnHui, price=12345.0,
maxSpeech=100],
car [brand=LeiNuo, corp=shanghai, price=0.0, maxSpeech=120],
car [brand=AoDI, corp=, price=0.0, maxSpeech=245]]]

 
2.Map
:ラベルにネストされ、で設定
ラベル定義により、ラベルには複数のサブラベルを使用することができ、各エントリには1つのキーと1つの値を含むラベルに定義しなければならない.キーと値のタイプに制限がないため、要素がMapのキーと値を使用できる属性定義を自由に指定することができ、簡単な定数はkeyとvalueで定義することができ、Beanはkey-refとvalue-ref属性で定義javaを定義することができる.util.Properties、このラベルは複数のサブラベルとして使用され、各サブラベルはkey属性を定義する必要があります.
PersonMap.java
public class PersonMap {
    private String name;
    private int age;
    private Map cars;
  //setter...
}

applicationContext.xml
"Person4" class="com.MrChengs2.Collection.PersonMap">
    "name" value="Rose">
    "age" value="77">
    "cars">
        
            "AA" value-ref="car">
            "BB" value-ref="car1">
        
    

テスト:
          PersonMap p1 = (PersonMap) ctx.getBean("Person4");
          System.out.println(p1);
PersonMap [name=Rose, age=77, cars={AA=car [brand=LeiNuo, corp=shanghai, price=0.0, maxSpeech=120], 
BB=car [brand=AoDI, corp=, price=0.0, maxSpeech=245]}]

 
3.Properties
DatasourceProperties.java
public class DatasourceProperties {
    private Properties properties;
  //setter...
}

applicationContext.xml
"properties" class="com.MrChengs2.Collection.DatasourceProperties">
    "properties">
        
            <prop key="user">root
            "password">1234
            "jdbcUrl">jdbc:mysql://
            "driverClass">com.mysql.jdbc.Driver
        
    

テスト:
          DataSource dataSource = (DataSource) ctx.getBean("properties");
          System.out.println(dataSource);

 
4.独立集合のBeanの構成
基本的な集合ラベルを使用して集合を定義する場合、集合を独立したBean定義とすることはできず、集合がその集合を参照できないため、util内の集合ラベルを使用して独立した集合Beanを異なるBean間で共有することはできません.注意するのは、ルート素にutilの定義を追加する必要があります.
appliactionContext.xml

"cars">
    <ref bean="car"/>
    <ref bean="car1" />



        
テスト:
          Person p2 = (Person) ctx.getBean("Persons");
           System.out.println(p2);
Person [name=zhangshan, age=25, cars=[car [brand=LeiNuo, corp=shanghai, price=0.0, maxSpeech=120],
car [brand=AoDI, corp=, price=0.0, maxSpeech=245]]]

 
転載先:https://www.cnblogs.com/Mrchengs/p/10085550.html