Excluding a bean from autowiring in spring.


 

Excluding a bean from autowiring in spring.

In this tutorial you will learn how to exclude a bean from autowiring in spring.

In this tutorial you will learn how to exclude a bean from autowiring in spring.

Excluding a bean from autowiring

In this tuorial you will see how to exclude bean from autowiring. The autowire-candidate attribute is set in the <bean/> element and when it is set to false the container excludes that specific bean from autowiring.

College.java

package spring.exclude.autwiring;

import org.springframework.beans.factory.annotation.Autowired;

public class College {

  private Student student1;
  private String registration;
  private String year;

  @Autowired
  public void setStudent1(Student student) {
    this.student1 = student;
  }

  public String getRegistration() {
    return registration;
  }

  public void setRegistration(String registration) {
    this.registration = registration;
  }

  public String getYear() {
    return year;
  }

  public void setYear(String year) {
    this.year = year;
  }

  @Override
  public String toString() {
    return "College [registration=" 
+ registration + ", Student="
        + student1 + ",year=" + year + "]";
  }

}

Student.java

package spring.exclude.autwiring;

public class Student {
  private String age;
  private String name;
  private String address;

  public String getAge() {
    return age;
  }

  public void setAge(String age) {
    this.age = age;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  @Override
  public String toString() {
    return "Student [name=" + name + ", age=" + age +
 
",address=" + address
        "]";
  }

}

AutowireMain.java

package spring.exclude.autwiring;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AutowireMain {
  public static void main(String[] args) {
    BeanFactory beanfactory = new ClassPathXmlApplicationContext(
        "context.xml");
    College coll = (Collegebeanfactory.getBean("college5");
    System.out.println(coll);
  }
}

context.xml

<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-2.5.xsd">
 
<!-- exclude auto-Wiring -->

<bean id="college5" 
class="spring.exclude.autwiring.College" autowire-candidate="false">
    <property name="registration" value="BL001" />
    <property name="year" value="2001" />
</bean>

<bean id="student5" class="spring.exclude.autwiring.Student"  >
  <property name="address" value="Delhi" />
  <property name="age" value="22" />
  <property name="name" value="Raj" />
</bean>  

<!-- End -->

</beans>

When you run this application it will display output as shown below:


College [registration=BL001, Student=null,year=2001]

Download this example code

Ads