init Method in Spring

Calling Bean using init() method in Spring, this section describes the way to initialize a bean through its lifecycle events using the init() method

init Method in Spring

init Method in Spring

     

Calling Bean using init() method in Spring, this section describes  the way to initialize a bean through its lifecycle events using the init() method .Here we have defined the property and values of  the bean using the init method as shown below:-

<bean id="mybean" class="Bean" init-method="init">:-Here "Bean" is the name of the bean class which would be referred in the xml file with the id "mybean".

init-method="init":-Specify the init method named "init" in the configuration file. 

<property name="name"> <value>Roseindia.net</value>:-Here the <property> element is used to declare the attributes and to pass the desired value to the property element, the <value> element is used. Here the property name is "name"and its value is "Roseindia.net".

 

 

<bean id="mybean" class="Bean" init-method="init">   
  <property name="name">  
   <value>Roseindia.net</value>
 </property>   
    <property name="address">   
     <value>Rohini</value>  
  </property>   
  <property name="type">   <value>Software Development Company</value> 
  </property> 
  </bean>

initMethod.xml

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd"
>
<beans>
  <bean id="mybean" class="Bean" init-method="init">
  <property name="name">
  <value>Roseindia.net</value>
  </property>
  <property name="address">
  <value>Rohini</value>
  </property>
  <property name="type">
  <value>Software Development Company</value>
  </property>
 </bean>
</beans>

Here is the file named SimpleBean.java through which we are retrieving the properties of the bean which we have defined in the above file i.e. initMethod.xml.

BeanFactory factory = new XmlBeanFactory(new FileSystemResource("initMethod.xml")):-
Creates an instance of the XmlBeanFactory which is used to read bean definition from an XML document.

SimpleBean.java

import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;

public class Bean {

  private static final String DEFAULT_NAME = "Girish";
  private String name = null;
  private String address = null;
  private String type = null;
  

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

  public void setType(String type) {
  this.type = type;
  }

  public void init() {
  System.out.println("Initializing bean");

  if (name == null) {
  System.out.println("Using default name");
  name = DEFAULT_NAME;
  }
  if (address == null) {
  System.out.println("Using default name");
  address = DEFAULT_NAME;
  }
  if (type == null) {
  System.out.println("Using default name");
  type = DEFAULT_NAME;
  }
 
  }
  public String toString() {
  return "Name: " + name + "\nAddress: " + address + "\nType: " + type ;
  }

  public static void main(String[] args) {
  BeanFactory factory = new XmlBeanFactory(new FileSystemResource(
  "initMethod.xml"));

  Bean Bean1 = getBean("mybean", factory);
  }
  private static Bean getBean(String beanName, BeanFactory factory) {
  try {
  Bean bean = (Beanfactory.getBean(beanName);
  System.out.println(bean);
  return bean;
  catch (BeanCreationException ex) {
  System.out.println("An error occured 
in bean configuration: " + ex.getMessage());
  return null;
  }
  }
}  

Output of the program

Initializing bean

Name: Roseindia.net

Address: Rohini

Type: Software Development Company

Download Source code