使用Spring(四)构造器参数匹配(类型匹配 ,索引)

来源:互联网 发布:网络美工岗位要求 编辑:程序博客网 时间:2024/05/16 08:26

1.applicationContext.xml


<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean name="mc1" class="com.yw.test04.MyClass1"><!-- 构造器参数类型匹配 --><constructor-arg value="1" type="int"></constructor-arg><constructor-arg><bean class="com.yw.test04.MyClass2" /></constructor-arg><constructor-arg><bean class="com.yw.test04.MyClass3" /></constructor-arg></bean><bean id="exampleBean" class="com.yw.test04.MyClass1"><!-- 构造器参数的索引 --><constructor-arg index="0" value="2" /><constructor-arg><bean class="com.yw.test04.MyClass2" /></constructor-arg><constructor-arg><bean class="com.yw.test04.MyClass3" /></constructor-arg></bean></beans>

2.

package com.yw.test04;public class MyClass2{}

package com.yw.test04;public class MyClass3{}

package com.yw.test04;public class MyClass1{public MyClass1(int i,MyClass2 mc2,MyClass3 mc3){System.out.println("=====public MyClass1(int i,MyClass2 mc2,MyClass3 mc3)=======");System.out.println("i="+i);System.out.println("mc2="+mc2);System.out.println("mc3="+mc3);}}

package com.yw.test04;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.xml.XmlBeanFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.core.io.ClassPathResource;import org.springframework.core.io.FileSystemResource;import org.springframework.core.io.Resource;public class Test01{public static void main(String[] args){//实例化容器方法三ApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "com/yw/test04/applicationContext.xml"});// of course, an ApplicationContext is just a BeanFactoryBeanFactory factory = (BeanFactory) context;//构造器参数的解析//Object obj=factory.getBean("mc1");Object obj=factory.getBean("exampleBean");System.out.println("obj="+obj);}}

3.运行



0 0
原创粉丝点击