File: context.xml
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">
File: Main.java
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"));
System.out.println("byName:");
System.out.println(bf.getBean("byName"));
System.out.println("byType:");
System.out.println(bf.getBean("byType"));
System.out.println("constructor:");
System.out.println(bf.getBean("constructor"));
System.out.println("autodetect:");
System.out.println(bf.getBean("autodetect"));
}
}
class A {
@Override
public String toString() {
return getClass().getName();
}
}
class B {
@Override
public String toString() {
return getClass().getName();
}
}
class MyClass {
private B B;
private B B2;
private A A;
public MyClass() {
System.out.println("MyClass()");
}
public MyClass(B B) {
System.out.println("MyClass(B)");
this.B = B;
}
public MyClass(B B, A A) {
System.out.println("MyClass(B, A)");
this.B = B;
this.A = A;
}
public void setDependency(A A) {
System.out.println("MyClass.setDependency(A)");
this.A = A;
}
public void setB(B B) {
System.out.println("MyClass.setB(B)");
this.B = B;
}
public void setB2(B B2) {
System.out.println("MyClass.setB2(B)");
this.B2 = B2;
}
public void setA(A A) {
System.out.println("MyClass.setA(A)");
this.A = A;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append("MyClass");
sb.append("{B=").append(B);
sb.append(", B2=").append(B2);
sb.append(", A=").append(A);
sb.append('}');
return sb.toString();
}
}