Mega Code Archive

 
Categories / Java Tutorial / Spring
 

Autowiring

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="a" class="A"/>     <bean id="b" class="B"/>     <bean id="byName" autowire="byName" class="MyClass"/>     <bean id="byType" autowire="byType" class="MyClass"/>     <bean id="constructor" autowire="constructor" class="MyClass"/>     <bean id="autodetect" autowire="autodetect" class="MyClass"/> </beans> 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();   } }