package com.ls.spring.ioc.dummy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class A { @Autowired private B b; public A() { super(); } public A(B b) { super(); this.b = b; } public B getB() { return b; } public void setB(B b) { this.b = b; } }
package com.ls.spring.ioc.dummy; import org.springframework.stereotype.Component; @Component public class B { public void put() { System.out.println("B is outing..."); } }
a.(class)=com.ls.spring.ioc.dummy.A
b.(class)=com.ls.spring.ioc.dummy.B
a.$0(ref)=b
#---setter injection---
#a.b(ref)=b
package com.ls.spring.ioc.dummy; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.beans.factory.support.PropertiesBeanDefinitionReader; public class TestBeanFactoryViaProperties { public static void main(String[] args) { DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(factory); reader.loadBeanDefinitions("classpath:com/ls/spring/ioc/dummy/ioc-test.properties"); A a = (A) factory.getBean("a"); a.getB().put(); } }