`

springframework【3】

阅读更多

Bean的依赖设置与集合对象的处理

 

Bean的依赖设置

 1)、type2IOC

  最常用的通过setter方法来设置bean之间的依赖关系

 2)、type3IOC

  通过构造函数来设置bean之间的依赖关系

 

 Autoware:自动绑定,通过设定bean的这个属性来在bean定义文件中找相应的bean来注入到bean中,他的值可以为 byName,byType,constructor,autodetect

 

 Bean对集合对象的处理

  对于那些数组、java.util.List、java.util.Set、java.util.Map等集合对象,可以通过spring的IOC容器来自动创建维护并生成集合。常见写法如下:

例如:

  代码类如下:

 

 

public class SomeBean {
	private String[] someArray;
	private List someList;
	private Some[] someObjArray;
	private Map someMap;
	public String[] getSomeArray() {
		return someArray;
	}
	public void setSomeArray(String[] someArray) {
		this.someArray = someArray;
	}
	public List getSomeList() {
		return someList;
	}
	public void setSomeList(List someList) {
		this.someList = someList;
	}
	public Some[] getSomeObjArray() {
		return someObjArray;
	}
	public void setSomeObjArray(Some[] someObjArray) {
		this.someObjArray = someObjArray;
	}
	public Map getSomeMap() {
		return someMap;
	}
	public void setSomeMap(Map someMap) {
		this.someMap = someMap;
	}
}

 

配置文件如下:

 

 <bean id="someBean" class="com.itcast.collect.SomeBean">
 <property name="someArray">
   <list>
     <value>aaa</value>
     <value>bbb</value>
   </list>
 </property>
 <property name="someList">
   <list>
   <ref bean="some1"/>
   <ref bean="some2"/>
   </list>
 </property>
 <property name="someObjArray">
   <list>
   <ref bean="some1"/>
   </list>
 </property>
 <property name="someMap">
   <map>
     <entry key="aaaKey">
     <value>aaaValue</value>
     </entry>
     <entry key="bbbKey">
      <value>bbbValue</value>
     </entry>
   </map>
 </property>
 </bean>

 

以上只是说明这些集合类别的bean的声明。相当于给我们的这些bean的属性值赋予初始值了。大家可以通过代码调用,来查看是否真的被赋值了,下边是调用代码:

 

//将集合类Bean的属性值一一打印出来
public class SpringBeanListMain {
	public static void main(String[] args) {
		ApplicationContext ctx = new ClassPathXmlApplicationContext("list.xml");
		SomeBean s= (SomeBean) ctx.getBean("someBean");
		for(String a:s.getSomeArray()){
			System.out.println(a);
		}
		System.out.println("------------");
		for(Some a:s.getObjArray()){
			System.out.println(a);
		}
		System.out.println("------------");
		for(Object a:s.getSomeList()){
			System.out.println(a);
		}
		System.out.println("------------");
		
		Set<java.util.Map.Entry<String, String>> it = s.getSomeMap().entrySet();
		for(java.util.Map.Entry<String, String> a: it){
			System.out.println(a.getKey());
		}
	    System.out.println(s.getSomeMap().get("aaa"));
	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics