springframework(四)Bean的依赖设置与集合对象的处理

 Bean的依赖设置

 1)、type2IOC

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

 2)、type3IOC

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

 

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

 

 Bean对集合对象的处理

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

例如:

  代码类如下:

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")); } }

 

 

 

 

你可能感兴趣的:(bean,String,list,IOC,Class,Constructor)