init Method in Spring

init Method in Spring

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