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
- 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;
- }
- }
配置文件如下:
[java]
view plain
copy
- <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的属性值赋予初始值了。大家可以通过代码调用,来查看是否真的被赋值了,下边是调用代码:
[java]
view plain
copy
- //将集合类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"));
- }
- }