Autowiring : XML Bean « Spring « Java






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();
  }
}




           
       








Spring-Autowiring.zip( 2,599 k)

Related examples in the same category

1.XML Bean Injection
2.Reference another bean and set property
3.Static Factory
4.Serach By Base Package
5.throw RequiredPropertyNotSetException
6.Properties File Based Spring Bean
7.Non Static Factory
8.Local Reference
9.Link With DataSource
10.Inheritance Demo
11.HierarchicalBeanFactory Demo
12.Filtered By Annotation
13.destroy method
14.dependency check Demo
15.Custom InitializationMethod
16.component scan
17.Component Scan and scope
18.Component Filter Assignable
19.implements BeanNameAware
20.Bean Lifecycle Initializing
21.Bean Lifecycle DisposableBean
22.Alias Bean Demo