Spring bean dependency Demo
File: context.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/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="b" class="B" depends-on="a"/> <bean id="a" class="A"/> </beans> File: Main.java import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; public class Main { public static void main(String[] args) { XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("context.xml")); B b = (B) bf.getBean("b"); A a = (A) bf.getBean("a"); System.out.println(a); System.out.println(b); } } final class Shared { private static Object value = null; private Shared() { } public synchronized static void setValue(Object o) { value = o; } public static Object getValue() { return value; } } class A { public A() { Shared.setValue("Undetermined"); } @Override public String toString() { final StringBuilder sb = new StringBuilder(); sb.append("A"); sb.append("{}"); sb.append("Shared.getValue()=").append(Shared.getValue()).append("}"); return sb.toString(); } } class B { public B() { Shared.setValue("Completed"); } @Override public String toString() { final StringBuilder sb = new StringBuilder(); sb.append("B"); sb.append("{}"); sb.append("Shared.getValue()=").append(Shared.getValue()).append("}"); return sb.toString(); } }
1. | Setter Dependency Injection Demo | ![]() | |
2. | Contextualized Dependency Lookup Demo | ![]() | |
3. | Dependency Injection Demo | ![]() |