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

来源:互联网 发布:好穿的皮鞋 知乎 编辑:程序博客网 时间:2024/06/08 07:30

 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容器来自动创建维护并生成集合。常见写法如下:

例如:

  代码类如下:

[java] view plain copy
  1. public class SomeBean {  
  2.     private String[] someArray;  
  3.     private List someList;  
  4.     private Some[] someObjArray;  
  5.     private Map someMap;  
  6.     public String[] getSomeArray() {  
  7.         return someArray;  
  8.     }  
  9.     public void setSomeArray(String[] someArray) {  
  10.         this.someArray = someArray;  
  11.     }  
  12.     public List getSomeList() {  
  13.         return someList;  
  14.     }  
  15.     public void setSomeList(List someList) {  
  16.         this.someList = someList;  
  17.     }  
  18.     public Some[] getSomeObjArray() {  
  19.         return someObjArray;  
  20.     }  
  21.     public void setSomeObjArray(Some[] someObjArray) {  
  22.         this.someObjArray = someObjArray;  
  23.     }  
  24.     public Map getSomeMap() {  
  25.         return someMap;  
  26.     }  
  27.     public void setSomeMap(Map someMap) {  
  28.         this.someMap = someMap;  
  29.     }  
  30. }  

配置文件如下:

 

[java] view plain copy
  1. <bean id="someBean" class="com.itcast.collect.SomeBean">  
  2. <property name="someArray">  
  3.   <list>  
  4.     <value>aaa</value>  
  5.     <value>bbb</value>  
  6.   </list>  
  7. </property>  
  8. <property name="someList">  
  9.   <list>  
  10.   <ref bean="some1"/>  
  11.   <ref bean="some2"/>  
  12.   </list>  
  13. </property>  
  14. <property name="someObjArray">  
  15.   <list>  
  16.   <ref bean="some1"/>  
  17.   </list>  
  18. </property>  
  19. <property name="someMap">  
  20.   <map>  
  21.     <entry key="aaaKey">  
  22.     <value>aaaValue</value>  
  23.     </entry>  
  24.     <entry key="bbbKey">  
  25.      <value>bbbValue</value>  
  26.     </entry>  
  27.   </map>  
  28. </property>  
  29. </bean>  

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

[java] view plain copy
  1. //将集合类Bean的属性值一一打印出来  
  2. public class SpringBeanListMain {  
  3.     public static void main(String[] args) {  
  4.         ApplicationContext ctx = new ClassPathXmlApplicationContext("list.xml");  
  5.         SomeBean s= (SomeBean) ctx.getBean("someBean");  
  6.         for(String a:s.getSomeArray()){  
  7.             System.out.println(a);  
  8.         }  
  9.         System.out.println("------------");  
  10.         for(Some a:s.getObjArray()){  
  11.             System.out.println(a);  
  12.         }  
  13.         System.out.println("------------");  
  14.         for(Object a:s.getSomeList()){  
  15.             System.out.println(a);  
  16.         }  
  17.         System.out.println("------------");  
  18.           
  19.         Set<java.util.Map.Entry<String, String>> it = s.getSomeMap().entrySet();  
  20.         for(java.util.Map.Entry<String, String> a: it){  
  21.             System.out.println(a.getKey());  
  22.         }  
  23.         System.out.println(s.getSomeMap().get("aaa"));  
  24.     }  

0 0