package com.astute.sparrow.spring.ioc.method_injection; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; @Component("a") public class A { @Autowired @Qualifier("b") private B b; public B getB() { return b; } public void setB(B b) { this.b = b; } } package com.astute.sparrow.spring.ioc.method_injection; import org.springframework.stereotype.Component; @Component("b") @Scope("prototype") public class B { }
package com.astute.sparrow.spring.ioc.method_injection; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestBeanFactoryViaClasspathScan { public static void main(String[] args) { ApplicationContext factory = new ClassPathXmlApplicationContext("com/astute/sparrow/spring/ioc/method_injection/spring-classpath-scan.xml"); A a = (A) factory.getBean("a"); System.out.println(a.getB()); System.out.println(a.getB()); System.out.println(a.getB()); System.out.println(a.getB()); System.out.println("========================"); System.out.println(factory.getBean("b")); System.out.println(factory.getBean("b")); System.out.println(factory.getBean("b")); System.out.println(factory.getBean("b")); } }
输出:
写道
com.astute.sparrow.spring.ioc.method_injection.B@1394894
com.astute.sparrow.spring.ioc.method_injection.B@1394894
com.astute.sparrow.spring.ioc.method_injection.B@1394894
com.astute.sparrow.spring.ioc.method_injection.B@1394894
com.astute.sparrow.spring.ioc.method_injection.B@1394894
com.astute.sparrow.spring.ioc.method_injection.B@1394894
com.astute.sparrow.spring.ioc.method_injection.B@1394894
========================
com.astute.sparrow.spring.ioc.method_injection.B@1b8f864
com.astute.sparrow.spring.ioc.method_injection.B@bb7759
com.astute.sparrow.spring.ioc.method_injection.B@1989f84
com.astute.sparrow.spring.ioc.method_injection.B@110c424
com.astute.sparrow.spring.ioc.method_injection.B@1b8f864
com.astute.sparrow.spring.ioc.method_injection.B@bb7759
com.astute.sparrow.spring.ioc.method_injection.B@1989f84
com.astute.sparrow.spring.ioc.method_injection.B@110c424